2009-11-19 30 views
5

Soy nuevo en SVN, y estoy tratando de copiar un proyecto existente (solo el tronco) y crear un nuevo proyecto en el mismo repositorio. Estamos creando la misma aplicación para una audiencia diferente, por lo que me gustaría copiar la base de código existente y crear esta nueva base de código. No quería ramificar/etiquetar, ya que estos van a ser proyectos completamente diferentes de ahora en adelante, y no estoy interesado en preservar el historial, etc.,Copie un proyecto en SVN

Esto es lo que estaba planeando hacer, pero esto parece como muchos de Checkout/Commit, así que me pregunto si hay alguna otra manera simple.

  1. exportación del tronco del proyecto existente (digamos 'Project1') desde SVN a mi nuevo proyecto (digamos Project2) carpeta en C: \ inetpub \ wwwroot \ Project2
  2. Crear un nuevo proyecto en SVN llama 'Project2' y importación todos los archivos de mi C: \ inetpub \ wwwroot \ Project2 a su tronco
  3. Una vez más Pedido de Project2 de SVN para mi máquina local (C: inetpub wwwroot \ \ \ Project2)

La carpeta Project1 es enorme (~ 400 mb), por lo que esto llevaría mucho tiempo. ¿Hay algún otro alternativo?

Puedo hacer clic con el botón derecho en la carpeta troncal de Proyecto1 en el navegador repo de Tortoise SVN y elegir 'Copiar a' y especificar la carpeta troncal de Project2, y copió todos los archivos. De esta forma solo tengo que pagar una vez en mi máquina y todo está listo.

Pero no estoy seguro de si es correcto o de las consecuencias. Cualquier ayuda sería apreciada.

+2

¿El objetivo es deshacerse de la historia? De lo contrario, una sucursal sería la solución más fácil. –

+0

Creo que algo para tener en cuenta; como en el caso de un proyecto .Net, el cambio de nombre de la estructura fundamental del proyecto causará problemas al compilar/ejecutar el proyecto ... por lo tanto, copiar está bien para archivar, pero la duplicación/replicación de un proyecto que se utilizará se convierte en un poco sucio. –

Respuesta

7

Una rama o una etiqueta en subversión es básicamente una operación de copia de todos modos, simplemente va a una carpeta diferente por convención.

Usted puede simplemente utilizar svn copy

Es una forma rápida y sencilla, sobre todo si tiene un gran repositorio. Conservará la historia, pero este es un que es bueno.

+0

Me gustaría continuar y mantener la idea de una sucursal.De esta forma, siempre sabrá de dónde vino el código real, cuándo se dividió y qué diferencias se han producido a lo largo del tiempo. – Chris

+3

Una ventaja adicional es que 'svn cp' no crea otros 400 Mb de archivos en el servidor. Los ves como dos proyectos diferentes, pero svn es lo suficientemente inteligente como para almacenar contenido común solo una vez. – tato

1

Suponiendo que ambos proyectos están en el mismo repositorio, copia trabajará muy bien - la subversión en realidad no ver los archivos en un repositorio como algo más allá de los archivos/directorios - "tronco" es en realidad una directorio con un cierto nombre, no es un elemento especial ni nada.

1

¿Por qué no simplemente copiarlo en svn? Será casi instantáneo y ahorrará mucho espacio en el disco en el servidor. Le dará la historia, pero si eso no le interesa, simplemente no la lea.

Cuestiones relacionadas