[size=150]— SUBVERSION 1.6.13 —[/size]
1. - DESCRIPTION GENERALE
[b]1.1 - Qu'est ce que Subversion[/b]
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.
SVN est un système de contrôle de versions client-serveur permettant à plusieurs personnes de travailler simultanément sur un même ensemble de fichiers. Les gros projets de développement s’appuient généralement sur ce type de système afin de permettre à un grand nombre de développeurs de travailler sur un même projet. SVN permet de gérer les accès concurrents, c’est-à-dire qu’il est capable de détecter les conflits de version lorsque deux personnes travaillent simultanément sur le même fichier.
Le fonctionnement de SVN s’appuie sur une base centralisée appelée « repository », hébergée sur un serveur, contenant l’historique de l’ensemble des versions successives de chaque fichier. Le repository stocke les différences entre les versions successives, les dates de mise à jour, le nom de l’auteur de la mise à jour et un commentaire éventuel, ce qui permet un réel suivi des modifications, tout en optimisant l’espace de stockage dédié au projet.
Le 14 février 2010, SVN est devenu officiellement un projet de la Fondation Apache, prenant le nom d’Apache Subversion.
[b]1.2 - Les apports d'Apache Subversion[/b]
Subversion a été écrit afin de combler certains manques de CVS. Voici les principaux apports:
• Les commits, ou publications des modifications sont atomiques. Un serveur Subversion utilise de façon sous-jacente une base de données capable de gérer les transactions atomiques (le plus souvent Berkeley DB) ;
• Subversion permet le renommage et le déplacement de fichiers ou de répertoires sans en perdre l’historique. ;
• Les métadonnées sont versionnées : on peut attacher des propriétés, comme les permissions, à un fichier, par exemple.
Du point de vue du simple utilisateur, les principaux changements lors du passage à Subversion, sont :
• Les numéros de révision sont désormais globaux (pour l’ensemble du dépôt) et non plus par fichier : chaque patch a un numéro de révision unique, quels que soient les fichiers touchés. Il devient simple de se souvenir d’une version particulière d’un projet, en ne retenant qu’un seul numéro ;
• svn rename (ou svn move) permet de renommer (ou déplacer) un fichier ;
• Les répertoires et méta-données sont versionnés.
1.3 - Branches et Tags
Une des particularités de Subversion est qu’il ne fait aucune distinction entre un label, une branche et un répertoire. C’est une simple convention de nommage pour ses utilisateurs. Il devient ainsi très facile de comparer un label et une branche ou autre croisement.
Quel que soit le système de gestion de versions, les numéros de révision à plusieurs chiffres sont difficiles à mémoriser. Pour cette raison de nombreux systèmes laissent l’utilisateur définir des tags comme des synonymes plus faciles à retenir. Mais ce que Subversion recommande d’utiliser comme tag est d’une nature complètement différente: une fois la commande “svn copy” a été effectuée, un tag Subversion ne se rappelle absolument plus de quel numéro de révision il provient. Alors que dans la plupart des autres systèmes un tag est une référence, un “tag” Subversion n’est qu’une copie. Seules quelques références prédéfinies sont disponibles: HEAD, PREV, BASE, COMMITTED.
Une autre différence est que les tags des autres systèmes sont des points dans le temps, alors que Subversion recommande de définir les tags comme des points dans l’espace du système de fichiers.
Cette absence de tag au sens habituel rend certaines opérations un peu moins pratiques dans Subversion. Par exemple retrouver ce qui a changé d’un tag à l’autre dans un fichier est un petit peu plus compliqué que de lancer une simple commande: "svn diff -r tag1:tag2 monfichier "dans le répertoire de travail.
D’autres opérations deviennent impossibles: par exemple une commande telle que "svn log -r tag1:tag2 monfichier " ne fonctionne pas et il n’y a pas d’alternative qui fonctionne.
Pour pallier ces manques l’ajout de “labels” ou “alias” a été proposé sur les listes de discussions de SVN. Ces labels seraient équivalents aux tags d’autres systèmes comme CVS, git ou autre. En 2010 cette suggestion n’a pas dépassé le stade de la discussion.
1.4 - Les principales commandes de Subversion
add : Déclare l'ajout d'une nouvelle ressource pour le prochain commit.
blame : Permet de savoir quel contributeur a soumis les lignes d'un fichier.
checkout (co) : Récupère en local une version ainsi que ses méta-données depuis le dépôt.
cleanup : Nettoie la copie locale pour la remettre dans un état stable.
commit (ci) : Enregistre les modifications locales dans le dépôt créant ainsi une nouvelle version.
copy : Copie des ressources à un autre emplacement (localement ou dans le dépôt).
delete : Déclare la suppression d'une ressource existante pour le prochain commit (ou supprime directement une ressource du dépôt).
diff : Calcule la différence entre deux versions (permet de créer un patch à appliquer sur une copie locale).
export : Récupère une version sans métadonnées depuis le dépôt ou la copie locale.
import : Envoie une arborescence locale vers le dépôt.
info : Donne les informations sur l'origine de la copie locale.
lock : Verrouille un fichier.
log : Donne les messages de commit d'une ressource.
merge : Calcule la différence entre deux versions et applique cette différence à la copie locale.
move : Déclare le déplacement d'une ressource.
propdel : Enlève la propriété du fichier.
propedit : Édite la valeur d’une propriété.
propget : Retourne la valeur d’une propriété.
proplist : Donne une liste des propriétés.
propset : Ajoute une propriété.
resolved : Permet de déclarer qu'un conflit de modifications est résolu.
revert : Revient à une version donnée d'une ressource. Les modifications locales sont écrasées.
status (st) : Indique les changements qui ont été effectués.
switch : Bascule sur une version/branche différente du dépôt.
update (up) : Met à jour la copie locale existante depuis la dernière version disponible sur le dépôt.
unlock : Retire un verrou.
2. - SUBVERSION 1.6.13
[b]2.1 - Change log[/b]
Changements visibles pour l’utilisateur :
- Ne perd pas les propriétés pendant les fusions
- Améliore les messages d’erreur auto-props
- Améliore les messages d’erreurs pour 403 avec le statut ra_neon
- Ne permet pas «merge --reintegrate» pour les fusions de 2 liens
- Améliore le traitement de fsfs.conf pendant le hotcopy
- Ne prend pas en compte les caractères dangereux des URL pendant l’exportation
- Prend en compte les verrous périmés dans FSFS
- Détecte mieux les copies de travail non liées lors de l’actualisation ra_neon
- Fsfs: rend les fichiers des révisions en lecture seul
- modification canonical des URL
- Correction les permissions pendant les réintégrations des fusions.
- Correction les erreurs de calcul de mergeinfo pendant la fusion de 2 url
- Correction de problème d’erreur de transmission dans svnserver
- Correction des enregistrements de fusion mergeinfo auto-référentielle
- Correction du bog short_circuit SVNPathAuthz
- Gère les URL existante et non existante “propser svnmucc”
- Ajout de la sous-commande "propsetf’ à svnmucc
- Émet un warning limité sur les répertoires copiés pendant le CI
Changements visibles pour le développeur:
-
Correction des liaisons Ruby compatible Ruby 1.9
-
Utilisation des dépôts API vérifié par javahl
-
Configure ra_serf pour analyser MD5 avec les éditeurs de mise à jour
-
Laisser ra_sert travailler avec les versions actuelles de serf
2.2 - BUG SVNPathAuthz short_circuit
Le module "mod_dav_svn de Subversion WebDAV serveur, peux interagir avec le serveur Apache et les modules associés, pour mettre en œuvre l’authentification et les stratégies d’autorisations différentes d’Apache pour le référentiels de Subversion. Cette solution consiste à mettre la valeur “short_circuit” de la directive SVNPathAuthz pour la configuration de "mod_dav_svn"
Une valeur autre que celle par défaut de mod_dav_svn permet de contourner les autorisations interne d’Apache à la place des requêtes directes d’autorisations intégrées dans Subversion.
Malheureusement, la mise en place de cette fonction (qui existe dans le but d’améliorer la performance des contrôles d’autorisation de Subversion) provoque d’ignorer les règles d’accès sur les référentiels nommés.
La politique d’accès au référentiel dépend de la configuration du fichier d’accès que Subversion consulte, ce qui peut provoqué de donner des informations d’un utilisateur à un autre utilisateur. .
Version vulnerable:
Subversion servers 1.5.0 through 1.5.7 (inclusive)
Subversion servers 1.6.0 through 1.6.12 (inclusive)
Bug résolut sur:
Subversion 1.6.13
Subversion 1.5.8
Détails:
Supposons qu’il existe un service d’Apache qui héberge Subversion et qu’il est configuré pour exiger l’authentification de tous les utilisateurs, en utilisant le fichier de configuration ci-dessous : on n’autorise l’accès à des parties spécifique du référentiel :
Tous les utilisateurs ont l’autorisation de lecture sur tous les référentiels dans leur Intégralité, sauf indication contraire
[code][/]
* = r
# Masquer le répertoire '/ pokernight «référentiel "bureau"
# de l'utilisateur: "pointy".
[bureau:/pokernight]
pointy = [/code]
Maintenant, supposons que l’utilisateur “pointy” tente de voir ou
de vérifier la racine du référentiel “bureau”
Par défaut (ou lorsque la directive SVNPathAuthz est réglé sur “on” dans le fichier de configuration d’Apache, Subversion prendra en compte les deux ensembles de règle :
Le premier s’applique à tous les référentiels configurés pour utiliser ce fichier.
La seconde ne s’applique qu’au référentiel nommé “bureau”
Dans cette situation, lorsque l’utilisateur “pointy” tentera d’accéder au référentiel “bureau”, Subversion lui accordera l’accès à la racine du référentiel (par la première règle), mais refusera l’accès a “/pokernight” et a tout les sous répertoires. (par le deuxième règle).
C’est déterminations d’accès ce produise parce que l’accès à Suberversion
Envoi des sous-requêtes à Apache pour tester les privilèges d’accès pour chacun et chaque éléments dans le révérenciel qu’elle affiche à l’utilisateur "Pointy"
Si un module d’autorisation d’Apache refuse l’accès à un chemin donnée, il vérifie de cette façon le chemin et le contenue qui seront caché à l’utilisateur “pointy”
Si les Administrateurs de Subversion savent que les requêtes de la pile d’autorisation d’Apache concernant les dépôts de Subversion est Subversion lui-même, ils peuvent utiliser la directive “short_circuit SVNPathAuthz” dans le fichier de configuration d’Apache. Ce paramètre permet à Subversion d’éviter les sous-requêtes d’apache et fait confiance en sa propre règle d’accès. Malheureusement pour les serveurs affectés par le bug, Subversion ne tiendrait pas compte du deuxième jeu de règles car il a un préfixe sur les dépôts – "bureau:"
Le résultat serais un accès en lecture accordée à “pointy” à la racine du révérenciel et qui ne serais pas remplacer pour le sous-arbre “/pokernight” et l’utilisateur “Pointy” serait en effet capable de voir ce sous-répertoire et ses contenu. Pokernight serais annuler. Ou pire, Boss Man serais lié au répertoire Pokernight
Parce que les mêmes mécanismes sont utilisés pour régir les permissions d’écriture, et pour accorder des autorisations supplémentaires ce bug pourrait interdire l’accès d’un utilisateur à des parties du référentiel ou il a les droits, et également permettre aux utilisateurs qui n’ont pas de droit d’écrire dans des zones référentiels.
Enfin, parce que Subversion détermines les droits d’accès pour la révision des métadonnées (messages du journal, nom d’auteurs, etc) basé sur les droits de l’utilisateur vers les divers fichiers et répertoires modifié par la révision. Ce bug pourrait accorder une mauvaise écriture et / ou un accès en lecture aux métadonnées de révision aussi.
Gravité :
Medium : Un serveur affecté par ce bug, avec une configuration particulière pourrait afficher le contenu des fichiers versionnés et les métadonnées, les métadonnées des répertoires, et les métadonnées de révisions défavoriserais les utilisateurs distants ou des classes d’utilisateurs, qui pourrait modifier le contenue du révérenciel, ou afficher des informations sur les fichiers et répertoires. (Subversion est après tout un système de contrôle de version)
Les Métadonnées de révision pourrait être silencieux, modifiés, ou détruits, selon si les dépôts ont été configuré pour notifier les utilisateurs des modifications ou de tenir des registre externes des changements.
Recommandations :
Nous recommandons aux utilisateurs qui emploient la directive de configuration “short_circuit SVNPathAuthz” de mettre à jour leurs Subversion vers la version 1.6.13 immédiatement.
Ceux qui sont incapables ou refusent de mettre à niveau leurs version devrais envisager une ou plusieurs solutions suivantes :
1 : modifier la valeur de la directive de configuration SVNPathAuthz à "on"
Cela peut affecter la performance de vôtre dépôt Subversion, mais permettra d’éviter la problématique. Vous pourriez avoir besoin de revérifier le reste de votre configuration afin de s’assurer que cette démarche ne sera pas causée involontairement.
Afin de s’assurer que les contrôles d’autorisations de Subversion ne passeront pas à travers les modules d’autorisation supplémentaires, qui jusqu’ici ont été effectivement contournés.
- Refactor accède à vos fichiers et à la configuration d’Apache afin que les règles d’un fichier donné ne s’appliquent qu’a un seul référentiel, puis retirer tout les préfixes et référentiel de ces fichiers.
Cela permettra au règles d’autorisation de Subversion de correspondent logiquement et correctement.
Trouver toutes les sections qui s’appliquent à chaque dépôt, l’utilisation de l’exemple précédent reviendrait à créer un fichier d’accès qui régiraient les autorisations du référentiel pour le “bureau” seulement
Tous les utilisateurs ont l’autorisation de lecture sur ce référentiel dans son Intégralité, sauf indication contraire.
[code][/]
* = R
# Masquer le répertoire '/ pokernight «référentiel du « bureau »
# Du Boss Man (pointy).
[Pokernight /]
pointy =[/code]
Et aussi la création de fichiers similaires pour chaque dépôt supplémentaire régie par le fichier d’accès d’origine.
Patches:
The following patch applies to Subversion 1.5.x and 1.6.x.
[[[
Index: subversion/mod_dav_svn/authz.c
— subversion/mod_dav_svn/authz.c (revision 1001856)
+++ subversion/mod_dav_svn/authz.c (working copy)
@@ -59,7 +59,7 @@
allow_read_bypass = dav_svn__get_pathauthz_bypass®;
if (allow_read_bypass != NULL)
{
-
if (allow_read_bypass(r,path, repos->repo_name) == OK)
-
if (allow_read_bypass(r, path, repos->repo_basename) == OK) return TRUE; else return FALSE;
]]]
[b]2.3 - Installation de SVN 1.6.13[/b]
Les sources de SVN 1.6.13 sont disponibles à l’adresse suivante :
svn.haxx.se/dev/archive-2010-10/0023.shtml
Dépendances :
- autoconf 2.59 or later (Unix only)
- libtool 1.4 or later (Unix only)
- a reasonable C compiler (gcc, Visual Studio, etc.)
- libapr and libapr-util (REQUIRED for client and server)
- The Apache Portable Runtime (APR)
- SQLite (REQUIRED for client and server)
- libz (REQUIRED for client and server)
- Subversion uses zlib for compressing binary differences.
- libserf (OPTIONAL for client)
- The Serf libraries both allow the Subversion client
- OpenSSL (OPTIONAL for client and server)
- Berkeley DB (OPTIONAL for client and server)
- libsasl (OPTIONAL for client and server)
- Python, Perl, Java, Ruby (OPTIONAL)
[b]2.4 - Compilation SVN 1.6.13[/b]
Contenue du répertoire sources de SVN 1.6.13 :
• aclocal.m4
• autogen.sh
• BUGS
• build
• build.conf
• build-outputs.mk
• CHANGES
• COMMITTERS
• config.log
• config.nice
• config.status
• configure
• configure.ac
• contrib
• COPYING
• doc
• gen-make.opts
• gen-make.py
• HACKING
• INSTALL
• libtool
• Makefile
• Makefile.in
• notes
• packages
• README
• subversion
• tools
• TRANSLATING
• win-tests.py
• www
Pour installer SVN taper :
[code] # sh autogen.sh
./configure
Make
Make install[/code] 2.5 - Création d’un dépôt
La création d’un dépôt pour un projet “nomdemonprojet” se fait via la commande :
svnadmin create nomduprojet
Hiérarchie du dépôt SVN 1.6.13
[Projet]
- [conf]
- [authz]
- [passwd]
- [svnserve.conf]
- [db]
- [current]
- [format]
- [fsfs.conf]
- [fs-type]
- [min-unpacked-rev]
- [revprops]
- [0]
- 0
- [revs]
- [0]
- 0
- [transactions]
- [txn-current]
- [txn-current-lock]
- [txn-protorevs]
- [uuid]
- [write-lock]
- [format]
- [hooks]
- post-commit.tmpl
- post-lock.tmpl
- post-revprop-change.tmpl
- post-unlock.tmpl
- pre-commit.tmpl
- pre-lock.tmpl
- pre-revprop-change.tmpl
- pre-unlock.tmpl
- start-commit.tmpl
- [locks]
- db.lock
- db-logs.lock
- README
2.6 - SVN Utilisation du client
Dès lors, il est déjà possible de travailler sur celui-ci localement,
La première étape dans l’utilisation de Subversion est de récupérer une copie locale du dépôt, placer vous dans le répertoire d’un utilisateur et taper :
Un répertoire nomduprojet a du être créé dans le répertoire de l’utilisateur.
Ce répertoire doit contenir les fichiers de la dernière révision disponible sur le dépôt.
Dans ce répertoire, vous êtes libre de travailler normalement : création de répertoire, ajout de fichier.
Il est ensuite nécessaire d’informer Subversion que ces nouveaux fichiers doivent être pris en compte lors de la prochaine publication des modifications sur le dépôt :
Taper :
Ou “newrep” est un nouveau répertoire ou vous avez rajouté des fichiers.
Cette commande n’a fait que mettre une “étiquette” sur des fichiers, mais ceux-ci n’ont pas encore été envoyés vers le dépôt.
Cette action est réalisée via la commande :
# svn commit newrep -m "Message expliquant le modification effectuées"
Le paramètre -m “Mon Message” spécifie un message qui sera associé à la publication (et donc à la nouvelle révision).
Il est courant d’expliquer comme message le but des modifications réalisées : ajout d’une fonctionnalité, correction d’un bug, …
2.7 - Compatibilité Client Windows
En créant votre projet via la commande : # svnadmin create nomduprojet
Les clients Windows comme “Tortoise”, “SmartSVN”, ou encore “RapidSVN”, ne pourront pas se connecter au projet, ceci à cause d’un problème de compatibilité avec la nouvelle arborescence de SVN 1.6.X
Les clients actuels recherchent le fichier de révision dans le répertoire “REVS”, hors, lors de la création d’un Projet, les révisions se trouve bien dans le répertoire “REVS” mais aussi dans un sous-répertoire. (Exemple : 0/)
Pour résoudre se problème de compatibilité, il suffit lors de la création du projet de signaler à SVN que le projet doit être compatible avec les anciennes versions, en l’occurrence version 1.5.X
2.8 - Création d’un Projet compatible SVN 1.5.X :
Taper :
Cette commande créera le projet nomduprojet mais les fichiers de révisions ne seront pas dans un sous-répertoire mais dans directement répertoire REVS.
3. - Configuration de SUBVERSION 1.6.13
[size=85](note : svnserve en cour de redaction) [/size]
[b] 3.1 - APACHE MOD_DAV_SVN Configuration [/b]
Dépendances :
- apache mod_fs
- apache mod_dav
- apache mod_dav_svn
- apache mod_authz_svn
Une fois les modules installés, il faut configurer Apache pour prendre en compte les nouveaux modules. Dans le fichier httpd.conf rajouter :
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
Ensuite créer un nouveau Vhost pour l’accès au dépôt Subversion :
Vhost Subversion :
[code]
ServerName subversion.mondomaine.com
<Location /svn>
DAV svn
SVNParentPath /rep/
SVNListParentPath On
Détails :
" DAV svn " : Activation du Webdav Subversion
" SVNParentPath " : Chemin vers le répertoire parent de votre dépôt ex : /var/svn/
" SVNListParentPath " On : activation du mode Parentpath
Si votre vhost est subversion.mondomaine.com/svn
[b]3.2 - APACHE MOD_DAV_SVN Authentification [/b]
Pour protéger l’accès au dépôt à certain utilisateur, vous pouvez paramétrer une authentification sur le vhost :
[code] AuthType Basic
AuthName "SVN"
AuthUserFile /pathto.htaccess (chemin vers le fichier .htaccess)
Require valid-user[/code]
Création du .htaccess :
[b]3.3 - PROJET SVN Authentification Avancé [/b]
Vous pouvez configurer des accès avancés pour un utilisateur ou un groupe d’utilisateurs sur un ou plusieurs répertoires, pour ce faire, vous avez un fichier de configuration nommé “authz” qui se trouve dans le répertoire “conf” de votre projet.
Plusieurs modes d’authentification peuvent ainsi être paramétrés :
- Utilisateur
- Groupe Utilisateur
- Un alias défini dans un [alias] section spéciale
- Utilisateurs authentifiés, en utilisant le “$authenticated”
- Utilisateurs anonymes, en utilisant le “$anonymous”
- Tout le monde en utilisant *
Les règles d’autorisations sont :
- Accès autorisé en lecture : “r”
- Accès autorisé en lecture et écriture : “rw”
- Aucun accès : " "
Exemple :
[code][aliases]
joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
[groups]
developer = harry, sally
admin = joe
users = kelly, david
[/]
@admin = rw
@developer = rw
- =
[projet:/répertoire]
harry = rw
&joe = rw
@users = rw
- =
[projet:/répertoire]
@users = r
Kelly = rw[/code]
4. - TRAC 0.12.1
[b]4.1 - Qu'est ce que TRAC[/b]
Trac est une application web Open Source de gestion complète de projet par Internet, développé en Python.
Trac inclut :
- Un Wiki,
- Gestion de feuilles de route,
- Historique,
- Rapport de bugs,
- Explorateur subversion,
Il est développé par la société Edgewall Software, inspiré de CVStrac.
L’affichage Web de Trac fonctionne grâce au moteur de template ClearSilver.
Jusqu’à la version 0.9, Trac était sous licence GNU GPL. Maintenant, il est distribué sous Licence BSD.
[b]4.2 - Installation de TRAC 0.12.1[/b]
Les sources de TRAC 0.12.1 sont disponibles à l’adresse suivante :
trac.edgewall.org/wiki/TracDownload
Dépendances :
-
Python, version >= 2.4.
-
setuptools, version >= 0.6
- Genshi, version >= 0.6
- SVN
- pysqlite version 2.x for SQLite 3.x
- psycopg2 version 2.0.x for the PostgreSQL database
- MySQLdb, version 1.2.2 for the MySQL database
- Apache
-
Apache module mod_python
4.3 - Compilation de TRAC 0.12.1
Contenue du répertoire sources de TRAC 0.12.1 :
• AUTHORS
• build
• cgi-bin
• ChangeLog
• contrib
• COPYING
• dist
• doc
• .gitignore
• .hgeol
• .hgignore
• INSTALL
• Makefile
• Makefile.cfg.sample
• messages-js.cfg
• PKG-INFO
• README
• RELEASE
• sample-plugins
• setup.cfg
• setup.py
• setup_wininst.bmp
• TESTING-README
• THANKS
• trac
• Trac.egg-info
• tracopt
• UPGRADE
• wiki-macros
Pour installer TRAC taper :
4.4 - Création d’un environnement de projet TRAC 0.12.1
Un environnement Trac est un stockage principal où sont stocké des informations comme les pages wiki, ticket, rapports, paramètres, ect…
Pour créer un nouvel environnement pour votre projet taper :
trac-admin vous demandera les informations nécessaires pour créer l’environnement, telles que le nom du projet et la chaîne de connexion de base de données. Si vous n’êtes pas sûr de ce qu’il faut préciser, pour l’une de ces options, appuyez simplement sur Entrée pour utiliser la valeur par défaut.
Notez également que les valeurs que vous spécifiez ici peuvent être modifiées ultérieurement en éditant directement le fichier de configuration trac.ini.
Enfin, assurez-vous que le compte utilisateur sous lequel s’exécute le serveur WEB à le droit d’écrire dans le répertoire et tous les fichiers de l’environnement de projet.
Exemple : chown –R apache /chemin/vers/environnementduprojet.
4.5 - Configuration de TRAC 0.12.1
La configuration de TRAC peut se faire dans le fichier trac.ini se trouvant dans le répertoire conf de l’environnement de votre projet
Exemple : /var/trac/monprojet/conf/trac.ini
4.6 - Configuration APACHE pour l’accès à l’environnement du projet
Pour l’accès à l’environnement de votre projet par APACHE, éditer le Vhost de subversion et rajouter :
ScriptAlias /tracprojet /path/to/sources/trac.cgi
<location /tracprojet>
SetEnv TRAC_ENV "/chemin/vers/environementduprojet "
SetEnv PYTHON_EGG_CACHE /chemin/vers/.python-eggs
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /chemin/vers/environementduprojet
</Location>
Vous pouvez aussi rajouter une authentification pour TRAC :
[code]AuthName "Trac"
AuthType Basic
AuthUserFile /chemin/ver/.htaccess
Require valid-user[/code]
Pour vous connectez, taper :
subversion.mondomaine.com/tracprojet
[size=70](References :http://fr.wikipedia.org/wiki/Apache_Subversion;http://svnbook.red-bean.com;http://hikage.developpez.com/linux/tutoriels/subversion/;http://www.beroot.org/Configurations/installation-subversion-trac-debian-ubuntu;http://www.svnforum.org)[/size]
Fabien493