Creación de una rama TFS de solo Lectura


Estamos tratando de seguir la estrategia de ramificación de la Guía de ramificación de TFS y hemos llegado al punto en el que hemos hecho una rama que representa una liberación, que ahora debería hacerse de solo lectura.

En la pestaña Propiedades|Seguridad de la rama, presenta seis grupos de usuarios cada uno con 10 permisos distintos a los de Lectura. ¿Tengo que pasar y hacer clic en Denegar en 60 casillas de verificación, o hay una mejor manera de hacer que esta rama sea de solo lectura?

 37
Author: Mark Heath, 2009-06-24

6 answers

Haga clic con el botón derecho en la rama en el Explorador de Control de código fuente y seleccione el bloqueo ... opción

EDITAR: Esto parece perderse mucho cuando la gente está encontrando esto, así que lo haré más obvio.

Los bloqueos aparecen como un "cambio pendiente" para la persona que bloqueó el elemento. Mientras el bloqueo esté en vigor, aparecerá como un cambio pendiente. Cuando se realiza una confirmación de ese cambio pendiente, el bloqueo se libera. Mientras el bloqueo está en efecto, la rama bloqueada es efectivamente de solo lectura, ya que (para simplificar) el casillero es el único usuario que puede hacer commits. El acto de cometer es lo que libera cualquier bloqueo en la rama.

H / t @AakashM por señalar eso en los comentarios

 46
Author: Josh E,
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-07-06 16:18:58

Como quick-n-dirty, podría bloquearlo para el Check Out (aunque el casillero tendría que recordar mantener el bloqueo en sus cambios pendientes para siempre... lo que me hace pensar que hay una mejor manera)

 10
Author: AakashM,
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-06-24 14:10:06

Para responder a la segunda parte de la pregunta removing quitar o negar el permiso de Lectura efectivamente niega todo lo demás.

 8
Author: Richard Berg,
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-06-25 15:24:32

Denegar el registro de dominio \ usuarios de dominio

 3
Author: AndySw,
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-05-20 14:00:08

Como se mencionó anteriormente, el bloqueo no es una estrategia muy agradable. La forma correcta de manejar esto es establecer permisos.

Puede hacer archivos de manera efectiva solo lectura. Los usuarios que intenten modificar los archivos recibirán un mensaje 'checkout denied'

Https://msdn.microsoft.com/en-us/library/ms252587.aspx#project_level

En VS2013: Team Explorer -> Configuración - > Seguridad/Control de versiones

 3
Author: FrankyHollywood,
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-06-01 09:25:09

Si tiene la herencia establecida en 'On' , la mejor manera que he encontrado es:

  1. 'Deny' all permissions except 'Read' to the 'Reader' group, and
  2. Agregue todos los demás grupos (excepto los Administradores de Proyectos) al grupo 'Reader'.

Entonces, todos los grupos dentro del grupo Lector heredarán los permisos 'Deny' y no podrán hacer nada más que leer.

 2
Author: alex,
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-11-03 15:37:56