¿Cómo puedo bloquear siempre el checkin de un archivo específico en TFS


Hay un archivo en el que siempre he hecho cambios, pero que nunca quiero que se registre. Me gustaría que TFS me bloqueara de registrarlo o confirmar los cambios. ¿Cómo puedo configurar TFS para hacer esto?

Detalles: Hay otro desarrollador en el proyecto que ha comprobado un código defectuoso que prefiero comentar en mi máquina local. Ya que son un cliente, prefiero mantener este un ejercicio técnico en lugar de hacer política.

 64
tfs
Author: MedicineMan, 2012-03-16

8 answers

Una de las entidades infravaloradas de TFS es camuflaje. Al igual que SVN ignore, la ocultación le permitirá ignorar una determinada carpeta o archivos.

Encubriendo una carpeta

Ocultar una carpeta es fácil: simplemente haga clic derecho en una carpeta en el explorador de control de código fuente y seleccione Cloak

Encubriendo un archivo

La interfaz de usuario no expone el ocultamiento en un solo archivo, pero a veces es posible que desee ocultar un archivo determinado como app.config.

  1. Ir a File > Source Control > Workspaces

  2. Selecciona tu espacio de trabajo y haz clic en Edit.

  3. Debajo de las carpetas de trabajo, y una nueva entrada con status Cloaked e ingrese la ruta completa del servidor del archivo que desea ocultar. (E. g.: $/MyTeamProject/Dev/Src/SomeProject/app.config)

Ocultar un archivo


Usando el Espacio de Trabajo Local .archivo tfignore (En TFS 2012, 2013, 2015 y arriba)

En Espacio de trabajo local , use puede usar .tfignore archivo (el equivalente de .gitignore para Git)

.tfignore file example
 ######################################
# Ignore .cpp files in the ProjA sub-folder and all its subfolders
ProjA\*.cpp
# 
# Ignore .txt files in this folder 
\*.txt
#
# Ignore .xml files in this folder and all its sub-folders
*.xml
#
# Ignore all files in the Temp sub-folder
\Temp
#
# Do not ignore .dll files in this folder nor in any of its sub-folders
!*.dll

Bloqueo por permisos

Otro enfoque es denegar el check-in en el archivo (requiere privilegios administrativos):

  1. Haga clic derecho en el archivo > haga clic Properties > Security

  2. Añade tu usuario y marca Deny en el permiso Check In.

Denegar el Registro

 86
Author: KMoraz,
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
2015-07-22 20:44:57

Para TFS 2012, simplemente use el .tfignore archivo.

Cuando se agregan archivos ignorados a carpetas que se asignan en un local espacio de trabajo, no aparecen en la página Cambios pendientes en Equipo Explorador.

Http://msdn.microsoft.com/en-us/library/ms245454.aspx

 12
Author: Androiderson,
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
2013-12-02 20:10:24

Visual Studio 2013 (y 2012)

Esta función está disponible seleccionando el archivo (s) y yendo a:

File > Source Control > Advanced > Exclude ... from Source Control
 8
Author: Evan Mulawski,
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
2014-02-23 03:50:17

Hay 2 maneras.

  1. Puede "Desmarcarlo" en la ventana "Cambios pendientes", debería recordarlo la próxima vez que cargue Visual Studio. Esto es un poco engorroso si desea "seleccionar todo" y Marcar/Desmarcar los elementos de la lista y propenso a errores.
  2. No "compruebe" el archivo, vaya al Explorador y elimine el atributo de solo lectura usted mismo. A continuación, edite los bits que desee. La advertencia es que TFS no lo sabe y no siempre actualiza el archivo correctamente. Además, si edita ese archivo en VS (para otro cambio), se "comprobará" y luego puede comprobarlo por error.

No me gusta ninguna opción en TFS / VS 2010, así que en realidad evité hacer esto (solía tener un gran "ignore-on-commit" cuando usábamos SVN). Ahora estoy usando VS11 Beta, la lista Excluida hace exactamente lo que quiero, muevo algo a él y se queda allí, y puedo poner fácilmente otros cambios dentro y fuera de esa lista y no verificar ese archivo.

 3
Author: DaveShaw,
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
2012-03-16 18:00:24

Solo puede excluir el archivo del Control de código fuente

1. Seleccione el archivo en el Explorador de soluciones

2. Vaya a Archivo - > Control de código fuente - > Avanzado

Ruta A Excluir

Y aquí está

Aquí está el Excluir

 3
Author: Felix Keil,
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
2014-09-26 08:22:20

Otra opción es usar una política de registro personalizada. Puede construir su propio o usar Forbidden Patterns Policy desde TFS 2010 Power Tools. Por supuesto que tendría que ser un administrador de TFS para instalarlo y podría no ser lo que desea en su situación. También cualquier política de check - in puede ser anulada.

 2
Author: Lars Truijens,
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
2012-03-17 19:52:58

Si está utilizando el tipo de espacio de trabajo "Local", que es nuevo en TFS 2012, sus archivos controlados por el código fuente no están configurados como "solo lectura" en absoluto. Pero en este caso, no importa dónde los edite, TFS los ve como modificados e incluidos en los cambios pendientes. Sería genial tener opción como "auto-exclude" de los cambios pendientes por defecto. E inclúyelos solo cuando quieras esto.

 2
Author: Anik,
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
2013-04-19 13:51:16

Las carpetas ocultas nunca se detectan como un cambio por TFS use esta función si está utilizando VS2010. La carpeta que no desea formar parte de TFS la marca como oculta.

 1
Author: Sandeep,
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
2016-06-03 21:31:10