Comment configurer et accéder mon dépôt subversion après avoir installé Subversion sur mon GoDaddy CentOS serveur dédié

StackOverflow https://stackoverflow.com/questions/8814659

Question

Je subversion avec succès installé sur mon serveur. Quand je lance la commande:

which svn

je reçois la réponse:

/usr/bin/svn

Je crée un répertoire dans mon répertoire racine qui est mon httpdocs dossier avec la commande suivante:

svnadmin create ~/svn

J'ai créé avec succès les fichiers et les dossiers suivants et les configurés et je vois les fichiers et répertoires suivants dans le répertoire svn:

conf  db  format  hooks  locks  README.txt

Mais je ne peux pas créer le tronc, des branches et des répertoires d'étiquette. En fait, je ne peux pas créer période de répertoires. Voici la commande que j'utilise:

svn mkdir file:///httpdocs/svn/site

Quand je fais cette commande le message que je reçois est le suivant:

svn: Could not use external editor to fetch log message; consider setting the
$SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no
'editor-cmd' run-time configuration option was found

Aussi, quand je tape dans l'URL:

http://mydomain.com/svn

Je reçois le message follwoing:

404 - Not Found 

Que dois-je faire pour configurer mon référentiel, vérifiez si mon dépôt fonctionne réellement. Oh et je n'exécutez la commande suivante:

svnserve -d
Était-ce utile?

La solution

Je crée un répertoire dans mon répertoire racine qui est mon httpdocs dossier avec la commande suivante ...

Ce n'est pas comment vous Subversion avec Apache httpd si c'est ce que vous essayez de faire. Vous avez besoin du mod_dav et des modules mod_dav_svn pour Apache. Vous pourriez avoir à recompiler Apache pour obtenir ces derniers.

Une fois que vous obtenez mod_dav et mod_dav_svn installé, vous devez configurer votre fichier httpd.conf (ou mettre un fichier de configuration sous votre conf.d de httpd selon la façon dont il est configuré sur votre système) pour qu'il fonctionne.

En fin de compte, ce n'est pas si difficile. La plupart des installations Apache ont mod_dav et mod_dav_svn ajoutés, et vous pouvez voir si votre fichier http.conf est correctement configuré. Le manuel sur Subversion ligne aura tout ce que vous avez besoin pour le faire fonctionner.

svn: Impossible d'utiliser un éditeur externe pour récupérer le message du journal; envisager de mettre la $ Variable d'environnement SVN_EDITOR ou en utilisant la --message (-m) ou --file (-F) Options svn: Aucune des variables d'environnement SVN_EDITOR, VISUAL ou EDITOR sont réglés, et pas option 'éditeur-cmd' configuration d'exécution a été trouvée

Lire le message. Il dit ne pouvait pas utiliser un éditeur externe parce que vous ne spécifiez pas un. Encore une fois la Subversion sur le manuel de la ligne, il explique en détail .

En fait, lorsque vous commettez un changement de Subversion, vous devez créer un message de validation. Cela peut se faire de deux façons:

  • Vous utilisez l'option -m comme svn commit -m "This is my commit message".
  • Vous définissez les variables SVN_EDITOR, VISUAL ou EDITOR au nom du programme que vous souhaitez utiliser. Par exemple, sous Windows, vous diriez C:> set EDITOR=notepad.exe. Sur Unix, vous voulez dire quelque chose comme $ export EDITOR=vi. Subversion vérifie d'abord la valeur de la variable SVN_EDITOR, puis VISUAL, puis EDITOR. Si aucun d'entre eux sont définis, il vous donne l'erreur que vous avez vu.

Pourquoi avez-vous sur la commande svn mkdir?

Parce que vous utilisez le formulaire URL de la commande, il fera le répertoire, puis valider le changement, donc la nécessité d'un message de validation. Cela devrait fonctionner:

svn mkdir -m"Adding the site directory to my repository" file:///httpdocs/svn/site

Maintenant, vous devez déplacer votre dépôt de votre répertoire httpdocs. C'est une très mauvaise chose d'avoir parce que ça fait mal votre serveur web.

Si vous ne voulez pas utiliser le protocole file://, vous pouvez utiliser svnserve. Ceci est un dépôt Subversion serveur intégré et utilise le protocole svn://. Observer:

$ svnadmin create my_repos   #Creates the repository
$ vi my_repos/conf/svnserve.conf  #See footnote 1 below
$ vi my_repos/conf/passwd         #See footnote 1 below
$ svnserve -r my_repos -d
$ svn mkdir -m "Making basic directory layout svn://localhost/trunk \
> svn://localhost/tags svn://localhost/branches
$ export SVN_EDITOR="vi"

Votre dépôt est également accessible à toutes les machines de votre réseau aussi. L'utilisation svnserve est beaucoup plus simple que Apache httpd, mais il y a quelques problèmes:

  • Vous ne pouvez pas exécuter plusieurs instances de svnserve car il veut utiliser le port 3690 et il n'a pas à partager. Avec Apache httpd, vous pouvez avoir plusieurs référentiels.
  • Configuration de la sécurité avec svnserve est limitée. Avec Apache, je peux utiliser le répertoire Windows Active ou LDAP ou je peux le configurer manuellement.
  • Certains navigateurs dépôt subversion sur le web ne le font pas comme svnserve.

Par ailleurs, si vous avez pas, passez par la Subversion en ligne manuel. Il est l'un des meilleurs manuels que je l'ai vu pour tout projet open source.


1 Lorsque vous configurez votre dépôt en utilisant svnserve, vous devez modifier le fichier svnserve.conf en permettant la password-db = passed ligne qui est sur la ligne n ° 20 dans le fichier. Ensuite, vous devez éditer le fichier passed (situé dans le même répertoire) pour configurer les utilisateurs et leurs mots de passe. Les deux sont très simple, mais facile à contrefairet, et si vous ne le faites pas, vous ne pouvez pas commettre quoi que ce soit dans votre dépôt.

Autres conseils

lorsque vous devez les branches du tronc et des étiquettes que vous avez besoin le téléchargement import_dirs.copy

qu'après que cd /location/import_dirs.copy que de courir de commande

cd /data/svn/import_dirs.copy/ 
svn import  file:///location of repos/reposname/  -m "inital message"

est l'exemple de celui-ci .....

cd /home/raj/import_dirs.copy/
svn import  file:///srv/svn/nmg/  -m "inital message"

que les branches du tronc et des balises ont été faites

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top