2008-12-11 11 views
0

Comment mettre à jour mon référentiel subversion pour qu'il accepte les mises à jour du champ de message de journal? J'ai une installation de Windows et j'ai changé le nom du fichier pre-revprop-change.tmpl en un fichier batch, mais maintenant quand j'essaye de mettre à jour une propriété de message de log mon svn de tortue se bloque juste et la propriété n'est pas mise à jour. Est-ce que je fais quelque chose de mal?Comment mettre à jour les propriétés de la sous-version

Depuis sa si petite, mon dossier pré-revprop-change.bat est inférieure à

REPOS="$1" 
REV="$2" 
USER="$3" 
PROPNAME="$4" 
ACTION="$5" 

if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi 

echo "Changing revision properties other than svn:log is prohibited" >&2 
exit 1 

Répondre

1

Ce n'est pas un fichier batch approprié; vous devez utiliser la syntaxe par lots cmd.exe.

Here est un exemple que vous pourriez vouloir essayer (après des ajustements peut-être).

1

Voici le fichier que j'ai fini par utiliser, je ne pouvais pas déboguer la partie qui vérifie pour s'assurer que le message de journal n'est pas vide, si quelqu'un pourrait je l'apprécierais. Évidemment, je réalise que je l'ai commenté.

@ECHO OFF 


set repos=%1 
set rev=%2 
set user=%3 
set propname=%4 
set action=%5 

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
:: Only allow changes to svn:log. The author, date and other revision 
:: properties cannot be changed 
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
if not %propname%==svn:log goto ERROR_PROPNAME 

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
:: Only allow modifications to svn:log (no addition/overwrite or deletion) 
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
if not %action%==M goto ERROR_ACTION 

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
:: Make sure that the new svn:log message contains some text. 
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
::set bIsEmpty=true 
::for tokens=* %%g in (find "") do ( 
:: set bIsEmpty=false 
::) 
::if %bIsEmpty%==true goto ERROR_EMPTY 

exit 0 



:ERROR_EMPTY 
echo Empty svn:log properties are not allowed. >&2 
goto ERROR_EXIT 

:ERROR_PROPNAME 
echo Only changes to svn:log revision properties are allowed. You tried %propname% >&2 
goto ERROR_EXIT 

:ERROR_ACTION 
echo Only modifications to svn:log revision properties are allowed. >&2 
goto ERROR_EXIT 

:ERROR_EXIT 
exit 1 
Questions connexes