2009-10-08 13 views
6

Mi situación es la siguiente: tengo un servidor Subversion configurado en mi casa, y también utilizamos Subversion en la empresa donde trabajo.Subversion: cómo eliminar la propiedad en commit

En el trabajo, utilizamos el modelo de bloqueo/edición/desbloqueo (principalmente porque estamos en transición desde Visual SourceSafe y es más fácil por el momento). En este momento, esto se logra estableciendo la propiedad 'needs-lock' en todos los archivos agregados (usando la sección de autopropulsiones del archivo de configuración del cliente SVN en cada máquina cliente).

Sin embargo, no quiero utilizar este modelo para mi servidor SVN doméstico (prefiero la forma de trabajar edit/merge/commit), así que actualmente después de enviar cualquier cosa desde mi PC de trabajo a mi servidor doméstico, tiene que eliminar manualmente la propiedad needs-lock de los archivos que he agregado.

¿Hay alguna manera de configurar el cliente SVN para que solo aplique esta propiedad a los archivos asignados a un servidor en particular? ¿O lo estoy haciendo de la manera incorrecta? ¿Debo usar ganchos en el servidor de trabajo para agregar esta propiedad, en lugar del cliente?

Cualquier ayuda o consejo es muy apreciado.

EDITAR: Aparentemente, no puede hacer esto en el servidor (o al menos se recomienda encarecidamente que no lo haga).

+0

YUCK! ¡Comience a pelear en el trabajo para que esto cambie! –

+0

Lo sé ... Lo sé ... –

+0

Lo peor es que lo configuré ... –

Respuesta

3

La función autoprops de subversión se configura en el archivo config de su cliente SVN. También hay un archivo de configuración servers que admite configuraciones específicas del servidor, pero desafortunadamente no puede anular autoprops allí.

le sugiero que haga dos versiones de config: config.home y config.work. Luego, escriba un script de shell (por ejemplo, un archivo .bat) que copie uno de los que contengan config. Eso debería permitirle cambiar rápida y fácilmente entre ambas configuraciones.

+0

Es un buen plan. –

7

También escribí un pequeño archivo por lotes de Windows para eliminar recursivamente la propiedad needs-lock de las carpetas donde ya se había establecido. Poner estas líneas en un archivo de texto:

svn propdel svn:needs-lock -R -q "%1" 
svn commit "%1" -m "Removed needs-lock" 

Guardar como remove-needs-lock.bat, y añadir su ubicación a la variable de entorno PATH. A continuación, puede ejecutar:

remove-needs-lock c:\workingcopyfoldername 

Y listo, todos los archivos ya no requieren bloqueo para editar.

Cuestiones relacionadas