¿Es esta la organización y el paso a paso correctos para crear un repositorio SVN con múltiples proyectos y proveedores?

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

  •  06-07-2019
  •  | 
  •  

Pregunta

He leído bastante del Libro SVN de Red Bean Software, y algunas de las preguntas aquí sobre SO, pero quiero asegurarme de que voy a hacer esto de la manera correcta la primera vez paso a paso -paso antes de comenzar a usarlo. ¿Es esto correcto?

  1. Instalar SVN.
  2. Crear repositorio SVN en / usr / local / svn. La estructura del directorio se ve así:

    -- conf
    -- db
    -- format
    -- hooks
    -- locks
    -- README.txt
    
  3. Cree carpetas a través de la línea de comandos para la organización del repositorio (incluidos proyectos y proveedores).

    -- conf
    -- db
    -- format
    -- hooks
    -- locks
    -- projects
       -- project_name
          -- vendor
          -- trunk
          -- branches
          -- tags
       -- project_name
          -- vendor
          -- trunk
          -- branches
          -- tags
    -- README.txt
    
  4. Verifique el código del proveedor en la carpeta del proveedor con el nombre correcto del proyecto.

  5. Exporte el código del proveedor a la troncal con el nombre correcto del proyecto (no es necesario fusionarlo, ya que todavía no tengo archivos de troncal del proyecto).
  6. Cree usuarios / permisos en / svnroot / conf / passwd y /svnroot/conf/svnserve.conf.
  7. Asegúrese de que svnserve se esté ejecutando y, en mi cliente SVN local (TortoiseSVN), revise el tronco para el proyecto que necesito.

No necesito publicar esto mediante una URL pública, por lo que no estoy configurando para Apache. El servidor no está en nuestra red, pero es una caja CentOS dedicada que alquilamos. Gracias por cualquier comentario y consejo.

EDIT:

Supongo que estoy confundido porque no tengo código o un proyecto para empezar, así que estoy comenzando desde el código del proveedor. ¿Debo crear una estructura de directorio en algún lugar del servidor que incluya mi nombre_proyecto con proveedor, troncal, ramas y subcarpetas de etiquetas, importar eso en mi repositorio y luego importar el código del proveedor a la carpeta del proveedor? La idea es que pueda obtener actualizaciones del proveedor y luego combinar esas actualizaciones con cualquier cambio que haya realizado en mi troncal.

¿Fue útil?

Solución

  

Cree carpetas a través de la línea de comandos para la organización del repositorio (incluidos proyectos y proveedores).

¿Te refieres a crear la estructura del repositorio haciendo directorios dentro del directorio de instalación de subversión? Eso está muy mal.

Debe crear las carpetas necesarias mediante el comando svn mkdir y no mediante el sistema de archivos.

En / usr / local / svn tiene la implementación física del repositorio de Subversion, y debe acceder solo a través de un cliente, y nunca tocarlo "a mano".

Por ejemplo, usando el archivo: // esquema de URL

svn mkdir file:///usr/local/svn/projects -m "Parent dir for projects created"

Otros consejos

Parece que en su mayoría tiene la idea correcta, pero su terminología es un poco incorrecta. Eso realmente confundirá a las personas SVN, ya que estás usando palabras que tienen significados específicos en el contexto de SVN. Para ampliar lo que dijo Davide:

2) cree su repositorio haciendo algo como svnadmin create / usr / local / svn .

3) crea tus carpetas. No necesita (ni desea) las partes de su lista que no están debajo de projects / . Esos otros directorios son lo que SVN usa para realizar un seguimiento de las revisiones, en realidad no están en el repositorio. Si crea una jerarquía de directorios en algún lugar de su sistema que contiene el subárbol project_name / , puede ejecutar svn import tantas veces como desee, una vez para cada proyecto (dando un nombre diferente para el destino cada vez). Eso creará la estructura de tu directorio.

4) En lugar de " pago " ;, creo que te refieres a " import " o " registro " (generalmente se llama " commit " en lenguaje SVN, pero se entenderá " checkin "). La importación agregará los archivos del proveedor al repositorio. Checkout significa " crear una copia local de este directorio versionado para que yo pueda trabajar con " conocido como una copia de trabajo. Cada desarrollador de su equipo debe tener su propia copia de trabajo. Después de que un desarrollador realiza cambios en su copia de trabajo, los svn commit los envía los cambios al repositorio. Los otros desarrolladores del equipo ejecutarán svn update para obtener esos cambios del repositorio en sus propias copias de trabajo.

5) No he leído el libro SVN últimamente, pero creo que le indica que copie la versión de la rama del proveedor en el tronco, no que lo exporte. Exportar en términos SVN significa eliminar la versión del árbol de directorios, que claramente no es lo que desea.

Puede que le resulte más fácil si realiza los pasos 6 y 7 justo después del paso 2, desde entonces puede usar el protocolo svn: // para acceder a su repositorio para los pasos restantes en lugar de file: // como lo sugiere Davide, que solo funciona en la máquina local.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top