¿Cómo configuro y accedo a mi repository de subversión después de instalar Subversion en mi Servidor Dedicado GoDaddy CentOS?

Instalé correctamente subversion en mi server. Cuando ejecuto el command:

which svn 

Recibo la respuesta:

 /usr/bin/svn 

Creo un repository dentro de mi directory raíz que es mi carpeta httpdocs con el siguiente command:

 svnadmin create ~/svn 

Creé exitosamente los siguientes files y carpetas y los configuré, y veo los siguientes files y directorys dentro del directory svn:

 conf db format hooks locks README.txt 

Pero no puedo crear directorys de troncales, twigs y tags. De hecho, no puedo crear directorys de un período. Aquí está el command que he estado usando:

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

Cuando hago este command, el post que recibo es el siguiente:

 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 

También cuando escribo url:

 http://mydomain.com/svn 

Recibo el siguiente post:

 404 - Not Found 

¿Qué debo hacer para configurar mi repository? Verifique si mi repository realmente está funcionando. Oh y yo ejecutamos el siguiente command:

 svnserve -d 

Creo un repository dentro de mi directory raíz que es mi carpeta httpdocs con el siguiente command …

No es así como haces que Subversion trabaje con Apache httpd si eso es lo que intentas hacer. Necesita los modules mod_dav y mod_dav_svn para Apache. Puede que tenga que recomstackr Apache para get estos.

Una vez que haya instalado mod_dav y mod_dav_svn, debe configurar su file httpd.conf (o poner un file de configuration bajo la conf.d su httpd, dependiendo de cómo esté configurado en su sistema) para que funcione.

Al final, no es tan difícil. La mayoría de las instalaciones de Apache tienen mod_dav y mod_dav_svn agregados, y puedes ver si tu file http.conf está configurado correctamente. El manual de Subversion en línea tendrá todo lo que necesita para que funcione.

svn: No se pudo usar el editor externo para recuperar el post de logging; considere establecer la variable de entorno $ SVN_EDITOR o usar las opciones –message (-m) o –file (-F) svn: no se configura ninguna de las variables de entorno SVN_EDITOR, VISUAL o EDITOR, y no se ejecuta ningún 'editor-cmd' se encontró la opción de configuration de time

Leer el post. Dice que no se pudo usar el editor externo porque no se especificó uno. De nuevo, el manual de Subversion en línea lo explica en detalle .

Básicamente, cuando compromete un cambio en Subversion, necesita crear un post de confirmación. Esto se puede hacer de dos forms:

  • -m opción -m como svn commit -m "This is my commit message" .
  • Establece las variables SVN_EDITOR , VISUAL o EDITOR al nombre del progtwig que desea usar. Por ejemplo, en Windows, diría C:> set EDITOR=notepad.exe . En Unix, dirías algo como $ export EDITOR=vi . Subversion primero verifica el valor de la variable SVN_EDITOR , luego VISUAL , luego EDITOR . Si ninguno de ellos está configurado, le da el error que vio.

¿Por qué lo svn mkdir command svn mkdir ?

Como usa el formulario de URL del command, creará el directory, luego confirmará el cambio, por lo tanto, la necesidad de un post de confirmación. Esto debería funcionar:

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

Ahora, necesita mover su repository fuera de su directory HTTPDOCs. Eso es algo muy malo porque daña tu server web.

Si no quiere usar el protocolo file:// , puede usar svnserve . Este es un server de repository Subversion incorporado y utiliza el protocolo svn:// . Observar:

 $ 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" 

Su repository también se vuelve accesible para todas las máquinas en su networking también. Usar svnserve es mucho más simple que Apache httpd, pero hay algunos problemas:

  • No puede ejecutar varias instancias de svnserve ya que quiere usar el puerto 3690 y no le gusta compartir. Con Apache httpd, puede tener múltiples repositorys.
  • La configuration de security con svnserve es limitada. Con Apache, puedo usar el directory de Windows Active o LDAP o puedo configurarlo manualmente.
  • Algunos browseres de repository subversivos basados ​​en web no les gusta svnserve.

Por cierto, si no lo has hecho, revisa el manual de Subversion en línea . Es uno de los mejores manuales que he visto para cualquier proyecto de código abierto.


1 Cuando configura su repository usando svnserve , necesita editar el file svnserve.conf habilitando la línea password-db = passed que se trata de la línea # 20 en el file. Luego debe editar el file passed (ubicado en el mismo directory) para configurar los usuarios y sus passwords. Ambos son muy sencillos, pero fáciles de olvidar, y si no lo haces, no puedes ingresar nada en tu repository.

cuando necesite usar twigs y tags, necesitará la descarga import_dirs.copy

que después de cd /location/import_dirs.copy que ejecutar que command

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

este es el ejemplo de eso …..

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

que las twigs del tronco y las tags se han hecho