2009-07-26 18 views
8

Estoy buscando una forma de hacer un pago exclusivo desde SVN.¿Cómo hago un pago y envío exclusivo en SVN?

  1. ¿Hay alguna forma de bloquear automáticamente un archivo cuando se está revisando?

  2. Si un usuario hace un pago exclusivo y luego otro usuario realiza una compra en el mismo archivo, ¿cómo puedo generar algún tipo de notificación o un mensaje instantáneo al segundo usuario que el archivo está bloqueado?

Respuesta

3

Si entiendo tus publicaciones de seguimiento, lo que creo que realmente quieres es asegurarte de que la gente conozca sobre bloqueos. Me estoy imaginando un caso donde los usuarios A y B tienen ya revisaron un jpeg. El usuario A ahora lo bloquea y desea asegurarse de que el usuario B lo sepa, para que no comience a editar el archivo JPEG y a perder tiempo y esfuerzo.

Si eso es correcto, recomiendo dos cosas: en primer lugar, la comunicación (no muy técnica, pero muy potente cuando se usa de forma coherente); segundo, puede echarle un vistazo al gancho del repositorio post-lock para svn. Puede usar eso para enviar correos electrónicos cuando alguien pone un candado en un archivo.

De the subversion book:

Los post-lock carreras de gancho después de una o más rutas se han bloqueado. Normalmente se usa para enviar notificaciones por correo electrónico del evento de bloqueo.

+1

Si sigue esa lógica y proceso (por ejemplo, un archivo de imagen siempre debe estar bloqueado antes de la edición), ¡no se encontrará con el problema!Cuando intentes bloquear el archivo, te advertirá que ya existe un bloqueo (y el motivo del bloqueo). Si usa la propiedad svn: needs-lock, impone una política de bloqueo en ese archivo o tipo de archivo – Alex

+0

En su ejemplo, si el usuario B intenta editar el jpeg sin colocar un bloqueo, entonces no está siguiendo el proceso – Alex

6

Puede utilizar svn lock para evitar que otros usuarios comprobar los cambios de nuevo (nota que se puede utilizar para tomar --force una cerradura de otro usuario). Esto generará mensajes en la línea de comando y les dirá a las personas que bloquearon ese archivo.

Es no común para hacer esto. Las personas trabajan con SVN al sacar copias (no exclusivas) y al redactar cambios que se fusionan con otros cambios (esto ocurre para formatos fusionables como texto; no se puede hacer esto para binarios y se rechazará un registro si ha habido otro checkin ocurrido mientras tanto).

No esperaría que esto se use regularmente, y normalmente confío en a) la capacidad de fusión de svn b) la comunicación con otros miembros del equipo para asegurarme de que no estoy pisando los pies de otras personas.

+1

Estoy de acuerdo que la comunicación es la mejor primera opción, pero sólo una nota: si usted es el administrador de la cesión temporal, puede hacer más fuerte cerraduras utilizando 'gancho repositorio pre-unlock'. Realmente no lo estoy recomendando para un uso normal, pero puedo imaginar casos en los que podría ser útil o necesario. – Telemachus

20

Puede agregar la propiedad o la propiedad de montaje automático svn:needs-lock lo que hace que el archivo sea de solo lectura y necesita realizar un bloqueo en el archivo para editarlo.

Si está utilizando TortoiseSVN, verá un icono diferente para los archivos bloqueados, esto debería ser fácil para que un segundo usuario vea y sepa que no puede editar el archivo.

Referenced in TortoiseSVN documentation

+6

+1 esta debería ser la respuesta aceptada –

+0

Eso es definitivamente. – bahrep

Cuestiones relacionadas