¿Cuál es la mejor manera de ver qué archivos están bloqueados en Subversion?

StackOverflow https://stackoverflow.com/questions/284950

  •  08-07-2019
  •  | 
  •  

Pregunta

Finalmente conseguí que mi grupo cambiara de SourceSafe a Subversion. Desafortunadamente, mi gerente todavía quiere usar bloqueos exclusivos en cada archivo. Así que configuré la propiedad svn: needs-lock en cada archivo y creé un enlace previo al compromiso para asegurarme de que la propiedad permanezca establecida.

Estamos ejecutando Subversion en un servidor Linux. La mayoría de nosotros usamos máquinas Windows y algunas usan Mac. Estamos utilizando varios clientes SVN (TortoiseSVN, SmartSVN, Subclipse, etc.).

Lo que ahora necesitamos es un método bueno / fácil para ver todos los archivos que están actualmente bloqueados en todo el repositorio (y quién los tiene bloqueados). He hurgado un poco en Tortuga y Subclipse, pero no he encontrado lo que estoy buscando. Nuestros proyectos tienen muchos subdirectorios que tienen varios niveles de profundidad, por lo que sería demasiado lento mirar cada directorio individual.

Lo que me gustaría es un solo informe que pueda ejecutar que enumere todo lo que está bloqueado actualmente y quién lo tiene bloqueado. ¿Cuál es la mejor manera de obtener este tipo de información?

¿Fue útil?

Solución

Lo que está buscando es el Comando svnadmin lslocks .

Tengo esto configurado en el trabajo porque guardamos algunos documentos de Word en nuestro repositorio de Subversion (con svn: needs-lock ). Tengo un trabajo cron configurado todos los días, comprueba la lista de bloqueos y envía un correo electrónico con un informe de todos los bloqueos de más de 7 días a todo el equipo. De esa manera podemos saber quién ha estado holgazaneando y sentado en una copia bloqueada de un documento durante mucho tiempo.

Otros consejos

Esta podría no ser la respuesta que está buscando, pero debe intentar convencer al gerente de que los bloqueos no son la mejor práctica de desarrollo. Hay muchos por ahí que se han escrito sobre este tema, por lo que no lo repetiré todo aquí.

Cuando pasas de un entorno de bloqueo a uno sin bloqueos de pago forzados, al principio crees que conducirá al caos, pero realmente no lo hace. SVN es bueno para fusionar cambios cuando dos personas están trabajando en el mismo archivo, e incluso si termina con conflictos, no es tan malo solucionarlos.

Mucho mejor que esperar al chico que fue a almorzar con un archivo crítico revisado, o peor aún, se fue de vacaciones.

Para ver qué bloqueos tienen usted y otros, puede usar TortoiseSVN ? Verificar modificaciones .... Los tokens de bloqueo localmente se muestran de inmediato. Para verificar si hay cerraduras en poder de otros (y para ver si alguna de sus cerraduras está rota o robada) debe hacer clic en Verificar repositorio.

Puede descubrir bloqueos desde un pago local utilizando svn status --show-updates que colocará un O antes de todos los archivos que están bloqueados en el servidor.

por ejemplo

$ svn status --show-updates
     O      279532   LockedFile
?                    UncommittedFile
M           279532   ModifiedFile

vea el svnbook para más detalles

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top