¿Cómo sé quién ha revisado un file?

Estoy buscando implementar control de fuente para mi equipo. Un requisito externo que surgió es que los "gerentes / clientes potenciales" quieren saber quién ha verificado qué file y cuándo. No es realmente un candado, solo quieren saber cuándo se sacó un file y quién lo hizo. También es un requisito de show stopper y está fuera de mi control.

Principalmente estoy buscando usar Subversion. Me imagino que si lo uso a través de Apache, entonces puedo analizar los loggings HTTP, a less que ya haya una herramienta para eso, ya sea una herramienta de análisis de logging web de terceros o algo creado directamente para la subversión.

¿Alguna otra herramienta de control de fuente popular que pueda tener este tipo de característica?

Yo como desarrollador sentiría cierta incomodidad, pero lo que sus "gerentes" quieren es un progtwig "espía" basado en el cliente. Esto podría implementarse como un complemento de eclipse, por ejemplo, que reúne statistics sobre qué files se abren y editan o qué.

En una nota al margen: ten algo de sentido con tus superiores. Si aún no han experimentado la falta de personal de TI calificado, con un curso como este pronto podrían hacerlo.

La buena gestión de proyectos aplica methods less invasivos para recostackr información sobre el progreso y la efectividad.

Los sistemas de control de fuente gratuitos no tienden a brindarle esta información porque funcionan desconectados del server; puede 'get' un file, pero no tiene que decirle al server que lo ha cambiado hasta que llegue a comprobarlo. in. Esto es en sí mismo una característica deliberada, ya que significa que puede trabajar en el path, en su casa, etc., sin estar atado al depósito central.

Los lockings se pueden utilizar en subversión para get algún tipo de efecto similar, pero no es una gran solución. Están diseñados para evitar que 2 personas modifiquen un file al mismo time, específicamente cuando las fusiones son un problema. Dicho esto, en realidad no impiden que alguien revise un file sin get el locking, por lo que son una indicación débil en el mejor de los casos, no una garantía.

Además, ninguno de los sistemas distribuidos más modernos, como git o mercurial, puede incluso comenzar a darle esta información, los repositorys están en su máquina, no están centralizados, y los enlaces al original son tenues como mucho. Considere que tiene 5 sucursales locales, ¿informa que todos los files están siendo modificados con respecto al original o solo a la twig activa? Puedes clonar repos de repos ya clonado, ¿cuántos niveles de abstracción sigues para llegar al repository 'maestro'? ¿Quién decide y cómo configuraría usted qué es ese maestro? Git et al pueden manejar toda esta complejidad con gran gracia, pero la pregunta "quién ha revisado este file" es casi insignificante en este context.

Los viejos incondicionales como TFS y Perforce lo permiten. Pero me gustaría saber por qué necesitan esta característica, solo porque alguien tenga una copy modificada de un file realmente no significa nada en términos de gestión, las sucursales aún se pueden proteger de manera muy efectiva utilizando la security del repository, cualquier sistema de seguimiento de tareas como trac o networkingmine te dirá quién está haciendo qué e integrará perfectamente con svn.

Puede haber aplicaciones de tercera parte que busquen copys de trabajo y carguen información de estado a un server central de informes, pero no he visto ninguna. Incluso podría valer la pena hacer uno.