2010-04-07 16 views
11

El problema con el cambio de nombre de los archivos es que si desea aprovechar la refacturación de Visual Studio, realmente debe hacerlo desde Visual Studio.Renombrar archivos: Visual Studio vs Control de versión

Pero la mayoría de los sistemas de control de versiones (no todos *) también quieren ser los que realicen el cambio de nombre.

Una solución es utilizar control de fuente integrado, pero esto no siempre está disponible, y en algunos casos es bastante torpe.

Personalmente, me sentiría más cómodo al usar el control de código fuente por separado, fuera de Visual Studio, pero no estoy seguro de cómo gestionar esta cuestión de cambio de nombre de archivos.

Entonces, para aquellos de ustedes que usan Visual Studio, ¿qué control fuente usan? ¿Utiliza una integración VS (cuál?) Y, de lo contrario, ¿cómo resolvería este problema de cambio de nombre?

(* git es lo suficientemente inteligente como para trabajar hacia fuera para sí mismo)

Respuesta

1

Utilizamos SVN (TortoiseSVN para ser exactos), y yo siempre estoy preocupado con el problema de cambio de nombre. La solución más simple que he encontrado es eliminar los archivos del proyecto, cambiarles el nombre a través de TSVN y agregarlos de nuevo al proyecto. Tiene que actualizar manualmente incluye para los archivos de encabezado renombrados, pero esto es relativamente fácil usando find & replace.

+0

Al eliminar el archivo de proyectos, lo eliminará de este disco. Entonces debe * excluir * del proyecto. Lo hago a continuación: primero renombro la clase usando el menú Refactor en VS, luego renombro el archivo usando SVN y luego de eso - agrego un nuevo archivo para proyectar y eliminar el viejo – abatishchev

+0

¡Yuck! Suena horrible de cualquier manera, aunque creo que la solución de @ abatishchev suena un poco mejor. – Benjol

+0

Si hace clic derecho en un archivo y selecciona "Eliminar", VS le pregunta si desea eliminar o eliminar el archivo. Si selecciona eliminar, el archivo no se borrará. – erelender

1

Utilizamos Team Foundation Server, y funciona sin problemas. También descubrí que pasar a utilizar un cliente totalmente integrado ha mejorado mi flujo de trabajo, ya que no necesito pasar de una aplicación a otra para realizar tareas triviales.

+0

Gracias. Supongo que TFS trabajar con VS es obvio :) Dejé TFS de mi lista de "potenciales" hace unos años debido a los precios y el dolor de la instalación. Tal vez debería volver a verificar ... – Benjol

+0

@Benjol verifique el próximo lunes cuando se publique VS2010, lo que entiendo es que usted obtiene TFS con él. –

2

mercurial por lo general prefiere hacer el cambio de nombre a través de hg rename sin embargo, también puede detectar cambios de nombre de una fuente externa mediante el uso de hg addremove -s 100 (o menos de 100 si desea hacer coincidir un cambio de nombre con alteraciones) tan claramente se puede dejar VS hacer el cambio de nombre y obtener mercurial para ponerse al día con addremove.

+0

Gracias, eso es bueno saber – Benjol

5

Uso SVN (TortiseSVN como cliente) y uso el comando Repair Move desde el diálogo de confirmación. Esto me permite cambiar el nombre de los archivos dentro de VS y resolver el cambio de nombre cuando estoy listo para comprometerme a mantener el historial de versiones.

En cuanto a usar la integración VS, como usted, encuentro que toda la integración VS es torpe y no la uso.

+0

Especialmente como la integración VS (al menos la última vez que lo usé), está orientada a la comprobación-modificación-verificación, y cada vez más las herramientas de control de la fuente son get-modify-merge. – Benjol

+0

Guau, eso es genial de saber. Por lo general, tengo que hacer lo más complicado: eliminar del proyecto, cambiar el nombre de svn, volver a agregar al proyecto aleatorio. Eso significa un paso menos: tendré que esperar a una mejor integración de VS. – quamrana

0

Además de los consejos anteriores, para Visual Studio 2008 encontré que después de hacer todos los cambios globales a cualquier archivo renombrado desde VS, incluyendo hacer clic derecho en el archivo y renombrarlo, así como una búsqueda global y reemplazar todas las cadenas , reemplazando el antiguo nombre de archivo con el nuevo nombre de archivo, debe, si el archivo es el archivo de inicio inicial, hacer clic con el botón derecho y seleccionarlo como "establecer como página predeterminada". De lo contrario, es posible que obtenga el mensaje "No se puede encontrar el recurso". error en el tiempo de ejecución.

1

Desarrollamos "Plastic SCM" y Visual Studio Package supports move operations. Pero entiendo tu punto, cada vez me siento más cómodo con la idea de no tener complementos/paquetes y luego tener el control de versiones trabajando detrás de escena y simplemente detectar lo que sucedió sin tener que "enchufarlo" al IDE. De hecho, estamos trabajando en ello para la próxima versión ...

+0

Bueno para aquí! Sigan con el buen trabajo. – Benjol

Cuestiones relacionadas