2011-05-24 9 views
16

Estamos usando TFS 2010 y tenemos un problema al eliminar una carpeta dentro de una solución en Visual Studio.TFS 2010 - Eliminar una carpeta en la solución de Visual Studio antes del check-in de los cambios

En la última versión del código registrado, el directorio en cuestión tiene archivos.

Uno de los desarrolladores decidió mover los archivos en ese directorio a otra ubicación dentro de la solución. Luego trató de eliminar la carpeta de edad, pero ir al siguiente error:

This operation cannot be completed. 
You are attempting to remove or delete a source-controlled item where the item is either exclusively locked elsewhere or otherwise unable to be deleted from source control. 

¿Alguien sabe cuál es el problema con tratar de hacer esto y hay una manera de conseguir alrededor de él?

+0

Es posible que también quiera ver [esta pregunta relacionada] (http://stackoverflow.com/q/3462340/148271) – IsmailS

Respuesta

24

No puede borrar una carpeta que tiene cambios pendientes en cualquiera de sus hijos (incluyendo si alguno de esos niños se están moviendo fuera de la carpeta -. Siguen siendo hijos hasta tal conjunto de cambios se registró)

Tendrá que hacer esto en dos pasos: primero, saque a los niños de la carpeta y verifique esos cambios, luego elimine la carpeta como un conjunto de cambios por separado.

+6

+1. Para elaborar: ** Nunca ** mezcle las operaciones de edición, cambio de nombre y eliminación en TFS. Puede causar problemas incluso para un desarrollador y problemas importantes si sus cambios requieren fusionarse en otra rama o en el espacio de trabajo de otro desarrollador. TFS 2010 es mucho más robusto a este respecto que 2008 y 2005, pero sigue siendo una mala idea superponer las operaciones de cambio de nombre/eliminación con ediciones. Al hacer un cambio de nombre/eliminar, intente asegurarse de que sea el único usuario que cambie esos archivos y verifique cada cambio por separado. –

+1

No estoy seguro de ir tan lejos. Reviso regularmente los conjuntos de cambios que contienen mucha refactorización (editar/agregar/eliminar/etc.). ¿Podrían discutir más sobre los problemas que están teniendo? –

+0

Tengo que admitir que hago un poco de mezcla entre los check-ins a veces y aunque me siento un poco dudosa al respecto (dada mi historia de miedo con VSS) hasta ahora no he tenido ningún problema. Tenía una carpeta que no eliminaría, pero seguí la sugerencia de George Witte (como respuesta a esta pregunta) y resolví el problema fácilmente. –

9

Si la carpeta que desea eliminar existe en su máquina local, simplemente agregue un nuevo archivo a la carpeta desde el IDE de Visual Studio (no importa qué tipo de archivo). Entonces debería poder eliminar la carpeta desde VS.

Si la carpeta fue eliminada de su máquina local, cree una nueva con el mismo nombre y luego siga los pasos anteriores.

+0

¡Perfecto! Gracias George. Tenía una carpeta que no podía eliminar localmente en cualquiera de mis máquinas de desarrollo (y no estaba en control de fuente). Agregué un archivo; registrado en; borró la carpeta y todo bien. –

+0

Gracias - Esto funcionó para mí también - Necesitaba eliminar una carpeta, pero no quería registrarla. Y sí, el problema había surgido porque moví los archivos nuevos con registros pendientes de la carpeta y no estaba vacía. Para solucionarlo, agregué un archivo; "deshacer" el cambio Agregar archivo pendiente; borró la carpeta y el archivo. –

+0

Impresionante. No poder eliminar esa carpeta era realmente molesto. Gran hallazgo ¡Así que nunca me decepciona! :) –

Cuestiones relacionadas