3 votes

Comment surmonter le problème de SVN -- Impossible d'ouvrir le système de fichiers SVN demandé.

J'ai suivi toutes les étapes de https://help.ubuntu.com/8.04/serverguide/C/subversion.html mais quand j'essaie de le faire :

svn co https://localhost/svn

J'ai compris :

 svn: Repository moved permanently to 'https://localhost/svn/'

...et quand je le fais :

 svn co https://localhost/svn/

Je reçois à nouveau la même erreur. Quand j'essaie :

 svn co https://localhost/svn/testrepo

J'ai compris :

 svn: Could not open the requested SVN filesystem

Dans les journaux d'apache, je vois :

 can't open file /home/myname/testrepo/testrepo/format

Dans mon apache2.conf j'ai :

<Location /svn>
     DAV svn
     SVNParentPath /home/myname/testrepo
     SVNListParentPath On
     AuthType Basic
     AuthName "myrepo"
     AuthUserFile /etc/subversion/passwd
     <LimitExcept GET PROPFIND OPTIONS REPORT>
         Require valid-user
     <LimitExcept>
</Location>

J'ai également essayé précédemment avec "SVNPath" au lieu de "parentpath" sans succès.

S'il vous plaît, aidez-moi, je suis désespéré ! J'ai essayé toutes les combinaisons de chemins auxquelles j'ai pu penser...

7voto

Adam Prax Points 1060

Il semble que SVNParentPath pointe directement vers votre référentiel, plutôt que vers un répertoire qui contient votre référentiel.

Créez un dossier appelé projets dans votre dossier personnel

mkdir /home/myname/projects

Déplacez votre dépôt dans projets .

mv /home/myname/testrepo /home/myname/projects

Changez la propriété de projets à www-data.

sudo chown -R www-data:www-data /home/myname/projects

Dans apache2.conf, changez votre déclaration de SVNParentPath en

SVNParentPath /home/myname/projects

Redémarrez votre serveur Apache.

Maintenant, essayez de vérifier votre dépôt.

svn co https://localhost/svn/testrepo

1 votes

Je ne comprends pas comment cela a fonctionné car lorsque je fais SVNParentPath /home/myname/projects. et que je redémarre le serveur apache, j'obtiens une erreur disant "syntax error on apache2.conf" à la même ligne où j'ai ajouté "SVNParentPath /home/myname/projects"

0 votes

@jonney est correct, l'ajout de cette ligne dans le fichier apache2.conf provoque cette erreur.

0 votes

Dans mon cas, il s'avère que j'ai fait une erreur dans le fichier ./apache2/mods-enabled/dav_svn.conf en essayant d'utiliser l'emplacement réel de mon projet et non le dossier parent (en remontant un dossier ../<projet>), dans mon cas : "/storage/data/svn-database/" alors que mon projet est "/storage/data/svn-database/TestProject", je devais m'assurer que mon SVNParentPath dans ce fichier était défini à l'emplacement de "TOUS" les projets ./svn-database/ et non du projet ./TestProject ; Après correction et redémarrage d'Apache, le projet fonctionne enfin.

1voto

zenekpiwko Points 111

Pour les utilisateurs de Windows (si quelqu'un a un problème similaire sous Windows) :

Le problème peut provenir des autorisations d'accès aux fichiers.

J'ai résolu mon problème en déplaçant le référentiel à l'endroit où Apache peut lire et écrire les fichiers. Dans mon cas (CollabNet Subversion Edge), le chemin était le suivant C:\csvn\data\repositories .

0voto

Vinod Kumar Points 1

Allez dans le répertoire SVNParentPath Ici mon chemin de répertoire est /var/www/svn

cd /var/www/svn/

Créer un référentiel sous SVNParentPath

svnadmin create repo_name

Donner la permission à Apache

chown -R apache:apache repo_name/

Créer un utilisateur SVN

htpasswd -m /etc/httpd/conf/.htpasswd nom d'utilisateur

Attribuer une autorisation

vi /etc/svnusers [repo_name:/]

nom d'utilisateur=rw

Redémarrer le service Apache

service httpd restart

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X