Je travaille sur des crochets de dépôt SVN. Voici la structure typique du référentiel:Comment distinguer un commit ordinaire et fusionner dans Subversion?
trunk/
branches/
branch1/
branch2/
En pre-commit hook je dois détecter si la fusion (entre les branches, de branche en tronc ou vice-versa) a été effectuée et vérifier si l'utilisateur est autorisé à effectuer une fusion.
J'ai découvert que la fusion modifie la propriété 'svn: mergeinfo' du répertoire de destination. Donc, je dois analyser le commit changeset, détecter la modification de propriété du dir et vérifier si la propriété 'svn: mergeinfo' a changé depuis la dernière validation.
Tout cela semble trop compliqué. Existe-t-il un moyen plus pratique de détecter la fusion?
Vous ne pouvez pas faire la distinction entre les commandes "svn commit" et "svn merge" dans le pré-commit? –
Non. 'Svn merge' n'effectue même pas de commit. 'svn commit' devrait être appelé séparément. – Dmitry