Pregunta

Tengo curiosidad de saber si es aceptable para copiar un directorio que no está bajo el control de la versión y empezar a trabajar en ambas copias.

Sé que puede ser diferente de uno VCS a otro, pero yo intencionalmente no se especifica ninguna VCS ya tengo curiosidad acerca de los diferentes casos.

Yo estaba hablando con un compañero de trabajo recientemente acerca de hacerlo en el SVN.Creo que debería estar bien, pero yo todavía no estoy 100% seguro, ya que no sé exactamente qué SVN es el almacenamiento de la copia de trabajo.

Sin embargo, si hablamos de los DVCS mundo, las cosas podrían ser aún más claro, ya que cada copia de trabajo es un repositorio por sí mismo.A los que se enfrentan con hacer esto en bzr ahora, me decidí a hacer la pregunta.

Después de editar:

Algunas personas le preguntaron por qué quería hacer eso.Aquí está la historia completa:

En el caso de SVN fue porque estar fuera de la oficina, la conexión con el servidor SVN era muy lento, por lo que a mí y a mi compañero de trabajo decidió retirar las fuentes sólo una vez y hacer una copia local.Eso es lo que hicimos y funcionó bien, pero todavía estoy preguntando si es garantizados para trabajar, o simplemente sucedió.

En el bzr caso, estoy planeando mover el "principal" repo a otro servidor.Así que yo estaba pensando que acaba de copiar y empezar a considerar que el principal repo.Supongo que la más segura es hacer un clon, aunque.

¿Fue útil?

Solución

En Subversion, cada .svn carpeta tiene todo lo necesario para la carpeta que lo contiene.Y puesto que todas las rutas locales se almacenan como relativa, de que son seguros, mientras que la copia total o parcial de los árboles fuera de la original checkout árbol.Se continuará funcionando en sus nuevos hogares.

A menudo me copia los subárboles de mi tronco fuera, interruptor de las nuevas copias a otras ramas/etiquetas y hacer lo que sea necesario en el "clonado" copias locales.De esta manera, si, por cualquier razón, tengo que volver y hacer algo en el maletero, tengo un ambiente tranquilo y un tronco copia en la ubicación original.

Copia de origen controlada directorios en otra fuente controlada de árboles, por otro lado, es inseguro.Si va a sobrescribir cualquier .svn carpetas, lo más probable es que sea a corromper a su destino de copias.

Otros consejos

Hago esto de vez en cuando en el SVN y no tengo problemas.Yo creo que en el SVN todo lo que se almacena es el estado original del directorio, y un puntero al directorio del repositorio de vino.

Así que, básicamente, funciona como piensa que debería.

  • Si Archivo1 en Copy1 cambios y File2 en Copy2 cambios tanto puede cometer
  • Si Archivo1 en Copy1 cambios y Archivo1 en Copy2 cambios quienquiera que cometa segunda tendrá un error y se tiene que actualizar/fusión primero.

Para los curiosos de por qué tuve que copiar, he tenido problemas con las cajas a través de nuestra red de ser muy lenta, cuando la primera comprobación de uno de nuestros proyectos más grandes.Por el contrario, simplemente copiar de otro equipo parecía que me proporcionan con todos los mismos beneficios.

En el svn, no hay problema.Usted puede trabajar con la copia como si hubiese hecho una segunda caja.

Me gustaría recomendar simplemente mirando un segundo momento, sin embargo.Si desea una copia sin el .svn archivos, svn export crear uno.

Para bzr, si usted acaba de copiar el .bzr directorio a otro lugar, que va a trabajar.No almacena ninguna información acerca de la ruta de acceso es en o el host, así que usted puede copiar siempre y esperar que salgan bien.

Yo sugeriría que no, como se está burlando de la fuente de mecanismo de control.

Pero tal vez se puede explicar el "por qué"?

Usted podría también acaba de sacar dos copias de trabajo (al menos con SVN) para decir trabajo/copy1 y de trabajo/copy2 y el trabajo en las dos versiones en paralelo.

Me pregunto, sin embargo, qué es lo que están tratando de lograr, ya que la copia puede no ser la mejor solución a su problema.

Esto dependerá de la VCS.Sé que en el CVS que almacena (oculto) de directorios dentro de cada versión controlada por el directorio.Estos archivos son, por supuesto, a continuación, se copia con alguna copia de ese directorio.

Es así que con frecuencia el caso de que usted NO desea copiar los archivos ocultos que el rsync herramienta viene con una opción (-C) ignorar estos archivos de la misma manera CVS.

He tenido un par de dolores de cabeza con SVN cuando he reorganizado el diseño de carpetas desde dentro de Visual Studio.Una carpeta de moverse dentro de una solución literalmente mover la carpeta en el sistema de archivos, incluidos los ocultos .svn carpeta.Esto hace que cometen problemas porque la .svn los datos se asocia a la antigua ruta y no he encontrado una manera para volver a asociar a su nuevo camino.SVN clean up funciona bien pero soluciona nada.SVN switch no permite cambiar después de que la carpeta se ha movido.Sólo he sido capaz de solucionar este problema mediante la eliminación de todos los .svn las carpetas dentro de la movida de la carpeta y sus subcarpetas, a continuación, vuelva a agregar la carpeta.

El problema que tengo con esta revisión es que usted pierde su versión en la pista de esos archivos porque SVN ve como nuevo.También, no almacena el contenido del archivo como de manera eficiente mediante el almacenamiento de la diferencia con la versión anterior.

Por el SVN de la documentación, se recomienda para permitir la svn cliente para hacer todo su carpeta mover/crear/eliminar para mantener todo sincronizado para el próximo commit.Esto no es siempre aceptable desde Visual Studio.Afortunadamente, la mayoría de los casos problemáticos son capturados durante la confirmación de tiempo, especialmente si el uso de TortoiseSVN.

Para SVN, generalmente trabajo como otros ya han declarado.

Si está copiando entre las máquinas, usted probablemente va a ejecutar en problemas, aunque.Por ejemplo, si usted accede a su SVN repo uso de file:// URL del repositorio, las cosas más probable es que se rompen.Mismo se aplica a http:// o svn:// Url de donde el acceso al servidor puede ser diferente.

Para estar seguro, me gustaría simplemente una copia en la nueva ubicación.Si usted tiene un montón de uncomitted cambios en uno que usted desea tener en el nuevo directorio de trabajo (generalmente una mala idea), entonces puedes utilizar rsync para copiar su fuente de todo, sin llevar en los .svn directorios.

Me parece GIT también podría servir sus necesidades, como usted menciona está desconectado o a través de una mierda de conexión.GIT tiene también muy agradable SVN apoyo para que los dos son complementarios y que terminará con una buena versiones de sistema de archivos.

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