SVN needs-lock checking usando pre-commit hook

Tengo un script precomprometido que se toma de internet. La mayoría de las secuencias de commands falla en diferentes escenarios. Me gustaría tener un script de precompromiso que permita comprometer solo si se ha establecido la propiedad needs-lock. Que es el model Lock-Modify-Unlock.

He habilitado los accesorios automáticos en la configuration del cliente y también he añadido la propiedad * = svn: needs-lock = *.

La mayor parte de la secuencia de commands que encontré comtesting la propiedad de locking de necesidades durante el time de Agregar nuevos files. Pero esta comprobación por sí sola no resolverá el problema. Durante los escenarios mencionados a continuación, podemos evitar el mecanismo de locking.

1) El desarrollador puede eliminar la propiedad de locking de necesidades durante la edición. 2) La propiedad se puede sacar sola sin modificar el file.

En los guiones de escenarios mencionados anteriormente falla.

Todas las ideas son bienvenidas.

Algo como el siguiente debería funcionar.

para y en svnlook changed -t "$TXN" "$REPOS" |grep "^[AU]" | awk -F" " '{print $2}' svnlook changed -t "$TXN" "$REPOS" |grep "^[AU]" | awk -F" " '{print $2}'

hacer svnlook proplist -t "$ TXN" "$ REPOS" "$ y"> /tmp/prop.txt

if (grep -iE "needs-lock" /tmp/prop.txt)

entonces

  if echo $y | sed 's/^.*\///' | grep -i "\."; then echo OK else 

echo "No permitido bloquear la carpeta $ y"> & 2;

salida 1;

  fi 

fi

hecho

Esto verificará si la propiedad se aplica o no en todos los files / carpetas antes de la confirmación. En caso de que necesite excluir una carpeta de este, debe agregar una condición más para verificar si es una carpeta o file y proceda de acuerdo con esto.