Cómo proteger el tronco de los desarrolladores

Estamos utilizando TFS para nuestro código: trunk + branches para actividades de encoding. Hay 6 desarrolladores en mi equipo.

Problema: a veces los desarrolladores no quieren crear una nueva twig (o usar una antigua) para arreglar / desarrollar algo. Simplemente lo hacen en el maletero. OK, en algunos casos es aceptable. Pero la mayoría de las veces crea muchos problemas.

¿Cómo puedo hacer cumplir la protección de los desarrolladores de tronco y fuerza para crear twigs nuevas o reutilizarlas?

UPD : no quiero dar acceso de solo lectura a los desarrolladores en trunk (deben poder crear twigs y fusionarlas por sí mismos). Quiero un compromiso: puedo crear twigs / fusionar pero no puedo desarrollarlas en el tronco.

Trabajar en el maletero directamente es casi siempre incorrecto. Sí, puede ser la forma más eficiente a veces, pero el process de ruptura es un process de ruptura y finalmente lo morderá.

Creo que este problema se resuelve mejor con la educación, pero la limitación del acceso de escritura troncal a los desarrolladores senior también podría ayudar, si no están "infectados" también 🙂

Wortyh teniendo en count, sin embargo, que cualquier buen repository fuente (léase: no VSS) lo salvará de problemas terminales en esta área, es solo una cuestión de esfuerzo y vigilancia. Nunca querrá confiar en los retrocesos, simplemente diciendo "no se asuste".

Puede establecer permissions en el nivel de la carpeta.

Crear una twig es un permiso poderoso. Probablemente tendrá que tener una persona que cree las twigs y luego establezca los permissions.

Para get información sobre cómo configurar permissions, consulte: http://msdn.microsoft.com/en-us/library/ms252587.aspx

Voy a decir lo que @annakata dijo. Además, recomiendo encarecidamente que quien sea responsable de administrar SCM en su organización establezca una alerta de logging que le permita saber cuándo alguien verifica el código en el enlace troncal. De esta forma, puede hacer un seguimiento (con el bate de cricket mencionado anteriormente, si es necesario) con el desarrollador responsable.

Algunas otras técnicas a considerar:

  • Solo permita que los desarrolladores sénior se registren. Los desarrolladores dejan de lado sus cambios, y los desarrolladores superiores revisan y luego se registran. Ellos pueden ayudar a ser tu guardián.

  • Utilice la function de control de input de TFS2010 para ayudarlo. Active los check-ins cerrados para el maletero.

  • Educación en una forma que los desarrolladores puedan entender. Hágales saber exactamente por qué build fuera del maletero es algo malo. La educación del process de SCM puede ayudar mucho a las personas a cumplir. Si creen que es solo una regla arbitraria, no se sienten mal por violarla.

  • Agregue consecuencias (en cualquier grado que su organización lo permita). Cosas como un background de cerveza / pizza al que tienen que contribuir cuando se arruinan, o un sombrero divertido que se debe usar, o incluso un fuerte anuncio a toda la organización de desarrollo cuando alguien se registra en el maletero. Hace que el punto se transmita rápidamente.

¿TFS tiene soporte para ejecutar scripts hook como subversion?

Si lo tiene, puede ejecutar verificaciones previas y posteriores a la confirmación para ver si las confirmaciones siguen las pautas del process, rechazar parches con un correo electrónico que explique por qué, etc.

Si eso es demasiado trabajo, mi mejor consejo es hablar con la gente y usar una buena recompensa por adherirse a las reglas y castigos por romperlas.

¿Qué tipo de "soluciones" están haciendo al TRONCO? Por lo general, nunca debes registrarte en TRUNK, sino solo combinar …

Si tienen mejoras o correcciones de errores que pueden esperar y que no son emergencias, deberían hacer su desarrollo en la twig DEV.

Si se trata de una emergencia , bifurque TRUNK y cree una twig HOTFIX. Esta será una copy de lo que está en producción.

Ejemplo de cuándo desearía usar HOTFIX: supongamos que tiene un cambio que desea realizar en la producción o el control de calidad, pero no desea que el trabajo futuro realizado en DEV salga todavía ya que tiene cambios de última hora para el entorno de control de calidad o tal vez solo quiera estar lo más seguro posible y asegurarse de que solo el código que usted sabe que desea cambiar desapareció con su implementación. Si no tiene una twig de HOTFIX, click TRONCO y select "Sucursal" y asígnele el nombre HOTFIX o algo significativo para usted. A continuación, realice los cambios en HOTFIX, compruébelos e impleméntelos desde la sucursal de HOTFIX. El HOTFIX solo contendrá dos cosas, luego A. Lo que está en TRUNK y B. Sus cambios únicos. No includeá todo el trabajo adicional que no haya validado o probado de la twig DEV, lo cual es algo bueno.

Puede crear un grupo de usuarios dentro de TFS para dar solo o nada de lectura. Si hace clic con el button derecho del mouse sobre el proyecto del equipo y hace clic en la membresía del grupo, agregue esos grupos a la estructura de carpetas en el Explorador de control de código fuente.