Renombrar archivos con Visual Studio y TortoiseSVN


Estoy usando Visual Studio para editar código fuente y de vez en cuando cambio al Explorador de Windows para confirmar cambios con TortoiseSVN. Este procedimiento funciona bien para mí y estoy bastante contento con él. Sin embargo, recientemente empecé a cambiar el nombre de las clases y reorganizar mucho los espacios de nombres. Me gusta cambiar el nombre y mover archivos en Visual Studio porque actualiza automáticamente el archivo de proyecto para mí. Sin embargo, cuando confirmo cambios, tengo que decirle a TortoiseSVN que se eliminaron los archivos antiguos y que se eliminaron los nuevos añadido, que no es del todo cierto y rompe la historia del código en particular.

Así que mi pregunta es: Cuando cambio el nombre de un archivo en Visual Studio, ¿hay alguna manera de decirle a TortoiseSVN que lo hice para preservar el historial de archivos?


Actualización (16:30): Ankhsvn parece ser la respuesta obvia, pero me gusta la cosa como son ahora. Suena raro, pero me gusta que TortoiseSVN no esté integrado en Visual Studio. Esto es tal vez debido a mi configuración de dos monitores cuando siempre he abierto administrador de archivos en mi monitor secundario. Tal vez porque encontré Explorador de soluciones un poco torpe. Tal vez porque me gusta pensar en la edición de código y el control de revisión como pasos separados del desarrollo de software. No sé.

Author: Zano, 2009-08-07

7 answers

Si tiene una versión más reciente de TSVN (después de 1.5.0, creo), puede usar la función "repair moves". Lo uso todo el tiempo para situaciones como esa.

 30
Author: Jeff Hardy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-18 22:59:02

Echa un vistazo a http://ankhsvn.open.collab.net / . Busca estas cosas y maneja los cambios apropiadamente y le muestra directamente en el Explorador de soluciones lo que ha cambiado. Además, usted no tiene que volver a Explorer! ¡Me gusta mucho!

No hay razón para impedir el historial de archivos. Ese es el objetivo de un sistema de control de código fuente.

 7
Author: Daniel A. White,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-07 14:14:35

Creo que AnkhSVN hará el trabajo. Es un plugin SVN gratuito para Visual Studio. Hay otro - VisualSVN, pero su shareware.

 3
Author: Sorantis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-07 14:09:32

Tal vez usted puede utilizar ankhsvn plugin para visual studio para svn

O hay plugins como ese

 0
Author: ufukgun,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-07 14:09:00

No. Debe hacer todo el movimiento/cambio de nombre de archivos en TortoiseSVN (es decir, explorador de archivos).

Hay plugins SVN para Visual Studio que podrían hacer lo que quieras.

 0
Author: ozczecho,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-07 14:10:16

AFAIK, cuando usa TortoiseSVN para cambiar el nombre de sus archivos dentro de los límites del control de código fuente, también elimina y agrega los archivos renombrados como nuevos.

Ver aquí:

Confirmar la carpeta padre

Ya que los renombres y los movimientos se hacen como un delete followed by an add [...]

 0
Author: Michael Klement,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-07 14:13:07

No se como puedes hacer lo que pediste, pero creo que puedes resolver tus problemas si empiezas a usar AnkhSVN.

Es una gran herramienta que integra Subversion en Visual Studio y puedes hacer tus commits desde el IDE VS.

 0
Author: Nelson Reis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-07 14:18:40