2009-04-21 8 views
5

He visto repositorios en SVN que al menos no creaban una carpeta local de troncales, ramas y etiquetas en el cliente. Entonces, ¿están las carpetas predeterminadas requeridas para usar con SVN (estoy usando tortuga) o qué? No veo por qué algunas personas tienen las carpetas, pero algunas no lo hacen en algunas implementaciones de repositorios.SVN Carpetas predeterminadas: ¿se deben usar?

+1

No, es mejor no utilizarlas y usar Git. (Vale, modifícame ;-) – Hejazzman

+1

Esta cosa de Git vs. SVN se está volviendo divertida, teniendo en cuenta que en la antigüedad era de todos contra VSS. : P –

+0

Creo que es git vs todos los demás –

Respuesta

11

Como han dicho otros, no es necesario tener el tronco/ramas/etiquetas. Estas carpetas no tienen un significado especial para la subversión, es solo una mejor práctica que puede usar si se ajusta a sus necesidades.

Pero como mencionó TortoiseSVN, hay un pequeño detalle: Tortoise le avisará cuando intente comprometerse a una subcarpeta de/tags. Impone que una etiqueta no se modifique una vez que se haya creado (otra práctica recomendada).


actualización (en respuesta de su comentario):

Las mejores prácticas decir que usted debe tener "tronco", "ramas" y carpetas "tags" en su repositorio. Una forma (probablemente el más común) para utilizar estas carpetas es la siguiente:

  • tronco es donde el principal desarrollo se lleva a cabo.
  • etiquetas contiene instantáneas (copias) de revisiones/versiones importantes de su código fuente (por ejemplo, lanzamientos como 1.0, 1.1, 2.0).
  • Las ramas se utilizan para el mantenimiento de versiones anteriores, p. su producto está en la versión 2, entonces tiene la necesidad de corregir un error en la versión 1.0 (luego puede copiar su etiqueta 1.0 en una nueva rama y hacer modificaciones allí).

Ahora, para subversión, todas las carpetas (troncales, etiquetas, ramas) son carpetas "normales". Ahora tienen un significado especial y la subversión no los trata de manera diferente (lo que significa que puede modificar lo que tiene en "/tags/1.0", por ejemplo).

TortoiseSVN intenta hacer cumplir las mejores prácticas advirtiéndolo cuando intenta comprometerse con una etiqueta (ya que generalmente desea mantener las etiquetas como lo estaban para poder reconstruir una versión anterior de su producto en cualquier momento).

+0

¿Qué quiere decir con etiquetas – PositiveGuy

+0

Actualizado mi respuesta. Espero que esto ayude. Ver también esta página de la documentación de tortoiseSVN: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-repository.html#tsvn-repository-layout – M4N

+0

Estoy bastante seguro de que teníamos esas carpetas en el lado del servidor pero no lado del cliente. Cuando nosotros, como desarrolladores, comprobamos el código por primera vez desde un repositorio, solo vimos la carpeta .svn y nada más. – PositiveGuy

4

Dado que la única forma de etiquetar o bifurcar en Subversion es hacer una copia en otro árbol, omitir los directorios troncal/etiquetas/ramas estándar evita que crees una copia de tu repositorio en una ubicación que está "afuera "su directorio de proyectos. Si alguna vez desea etiquetar o bifurcar sin tener los directorios predeterminados, terminará creándolos y moviendo su proyecto de todos modos.

+0

pero una rama no es una copia de un directorio completo, generalmente no es al menos. – PositiveGuy

6

Absolutamente no es necesario. Muchas empresas consideran que es una buena práctica, y tener directorios troncales/sucursales funciona bien para muchos entornos de software, y parece más familiar para los que provienen de cvs, etc.

Un ejemplo donde no es óptimo es almacenar un sitio web en Subversion. Varias compañías en las que he trabajado tienen directorios Devel y Live. El trabajo se realiza en el directorio Devel y se fusiona en el directorio Live cuando se enciende la luz verde.

Como dijo Greg, sin embargo, definitivamente desea ALGÚN directorio debajo de la raíz, pero no hay ningún requisito para una estructura en particular.

+0

¿qué quiere decir con "algún directorio", puede poner esto en contexto, entonces si no tengo esas carpetas inicialmente? No soy un chico de construcción, así que no sé. – PositiveGuy

+0

Como dijo Greg (Love the hair!) El 21/04, si colocas todas tus cosas en la raíz del repositorio, es muy difícil cambiar de opinión más adelante creando un directorio y moviendo todas las cosas existentes en él. Sin embargo, si tiene todo en un directorio, siempre puede crear directorios y subdirectorios paralelos, etc. –

0

Esto no responde a su pregunta, (los otros ya lo han hecho), pero si solo quiere la cajuela, simplemente especifique eso cuando haga la obtención/salida inicial.

Cuestiones relacionadas