2009-09-03 7 views
0

J'ai un hook SVN écrit en tant qu'application de console .NET et s'exécutant sur le serveur VisualSVN qui cause quelques problèmes. Chaque fois que j'essaie de commettre (soit à distance avec Tortoise ou localement via une ligne de commande) j'obtiens la réponse "Accès refusé". En regardant l'observateur d'événements pour VisualSVN, il y a une erreur commençant par "Impossible de fusionner la ressource ..." suivi d'une autre erreur répétant "Accès refusé".SVN Hook "Impossible de fusionner la ressource" et Access Denied Error

Si le hook de pré-validation est désactivé, la validation se passe bien, donc je ne pense pas que cela ait quelque chose à voir avec les permissions du référentiel. Le chemin vers le crochet de pré-validation est définitivement correct, donc SVN regarde au bon endroit. J'ai également essayé de donner à mon compte des droits d'administrateur local ainsi que de lui donner explicitement "Read & Execute" sur le dossier avec l'application hook. Je peux exécuter l'application de console PreCommit.exe directement afin qu'elle soit certainement capable d'être exécutée sur la machine.

Ceci est mon fichier pré-commit.cmd dans le dossier hooks du repo:

E:\PreCommitHooks\PreCommit.exe %1 %2 

Tout cela a bien fonctionné sur ma machine locale, je suis convaincu que tout est syntaxiquement correct et il est tout simplement un erreurs d'autorisations quelque part le long du chemin. Des idées? Visual SVN exécute le script, et c'est un service.

Répondre

1

Donc, il l'exécute en utilisant n'importe quel compte utilisateur sous lequel le service est installé.

Quelque chose que vous faites nécessite des autorisations qu'il ne semble pas avoir.

Courez-vous sur un domaine? E: un lecteur local, physique ou un mappage nework?

+0

Le service VisualSVN s'exécute sous "Service réseau" et accorder à ce compte tous les droits dans le monde (c'est-à-dire l'administrateur local) ne fait pas de différence. Le serveur se trouve sur un domaine AD à l'aide d'un lecteur physique local. Le journal de sécurité affiche une ouverture de session réussie par le service réseau puis deux fois de plus sur mon compte lorsque j'essaie de valider à distance. –

+0

Eh bien, donner à VisualSVN un compte de connexion au domaine serait probablement votre meilleur pari à court de l'exécuter en tant que système local. Je l'ai en cours d'exécution sur mon contrôleur de domaine, et il fonctionne très bien comme service réseau - cet exe fait-il quelque chose hors de l'ordinaire? – sylvanaar

+0

Beau travail, j'ai fini par paramétrer VisualSVN pour l'exécuter sous le compte système qui a trié le problème des hooks. J'ai un autre drama maintenant mais c'est pour un autre post :) –

Questions connexes