cambiar el layout del repository de subversión, ¿debería usar la relocation en el cliente?

Cuando comenzamos a usar Subversion, creé un único repository y creé las carpetas trunk / branches / tags directamente en el nivel raíz del repository. Por ejemplo, estoy accediendo al enlace usando una URL como esta:

svn://server/repository_name/trunk 

Ahora me gustaría agregar otros proyectos al mismo repository, lo que significa que me gustaría agregar otro nivel entre el nombre del repository y el tronco , por ejemplo:

 svn://server/repository_name/project/trunk 

Puedo reorganizar fácilmente el repository en el browser de repository TortoiseSVN. Pero, ¿qué se debe hacer con las copys de trabajo existentes?

  • ¿"reubicar" la operación correcta o esto requiere una nueva verificación?
  • en el primer caso, ¿importa si la copy de trabajo contiene cambios locales (sin compromiso)?
  • pregunta de bonificación: ¿habría alguna diferencia si hubiera decidido cambiar también el nombre del repository?

El "traslado" es la forma correcta, pero primero debe confirmar los cambios y luego realizar la reorganización. Cambias el repository también. El traslado lo manejará también.

La forma más limpia de lograr un cambio como este es:

  1. Confirme todos sus cambios y los de otros desarrolladores.
  2. Elimine su copy de trabajo de otros desarrolladores y la suya.
  3. Realice los cambios en el repository directamente con una herramienta de administrador de repository (por ejemplo, TortoiseSVN).
  4. Todos revisan una nueva copy de trabajo. Cada cambio que implementó en el repository se refleja en las nuevas copys de trabajo (cambios de nombre, movimientos, etc.).

En mi experiencia, el command de relocation es confuso para otros. Como administrador de SVN, puedo visualizarlo bien, pero en una organización de software estás limitado por el mínimo común denominador. Los pasos anteriores son el método más directo y sencillo.

Si tiene un código que realmente no desea registrar en este momento, simplemente deje esa copy de trabajo en su lugar y haga una nueva copy de trabajo en otra location. Solo tenga en count que la copy de trabajo anterior no es válida para el check-in. Cambie el nombre del directory raíz y elimine los subdirectorys .svn.