2010-01-18 12 views
2

Mon tronc a une structure:Créer un script hook côté client pour empêcher l'utilisateur engage à externe dans TortoiseSVN

\trunk 
----\data 
----\src 
----\tool 

avec \tool est externe à un autre endroit, pas dans mon trunk. Donc, je ne veux pas que l'utilisateur s'engage à \tool dans SVN. Ils peuvent seulement s'engager à \data ou \src.

Quelqu'un peut-il m'aider à créer un script de crochet pour empêcher l'utilisateur de s'engager à externe (dans ce cas est \tool dossier)?

+0

Avez-vous votre question a répondu? –

Répondre

2

Je ne suis pas très familier avec les externes, mais si vous voulez créer un script hook pré-commit, c'est un code assez simple mais difficile à déboguer. Votre hook pré-commit prend deux paramètres, $ ARGV [0] = chemin du référentiel, $ ARGV [1] = transaction en cours de validation.

Votre script crochet utiliserait svnlook, quelque chose comme

svnlook dirs-changed -r $ARGV[0] -t $ARGV[1]

Et retourner un état de sortie (négative?) Si svnlook est revenu que les outils (ou quoi que ce soit à partir d'outils) ont changé.

Tout ce que vous imprimez sur STDERR est affiché au client en tant que message d'erreur.

Vous placer ce script dans votre dépôt sous crochets, nommez-le « pre-commit », rendre exécutable

Assurez-vous de vérifier la svnlook documentation que je vais sur la mémoire ici