2010-02-01 6 views
1

HI,post-commit SVN ne fonctionne que manuellement

J'ai créé un fichier batch appelé post-commit.bat et placé sous le répertoire/crochets.

Le contenu du fichier est:

TestCS.exe 

Le contenu du fichier exe est:

static void Main(string[] args) 
    { 

     try 
     { 
      // create a writer and open the file 
      TextWriter tw = new StreamWriter("date.txt"); 

      // write a line of text to the file 
      tw.WriteLine(DateTime.Now); 

      // close the stream 
      tw.Close(); 
     } 
     catch { } 
    } 

Lorsque je double-clique sur le post-commit.bat, il crée la date. fichier txt.

Quand je commets dans SVN, il faut du temps, et finalement me donne le message suivant: alt text http://img688.imageshack.us/img688/3894/exception.jpg

Quel peut être le problème?

Merci!

Répondre

1

La chose la plus évidente à faire serait de lancer le débogueur et d'avoir une meilleure idée de l'endroit où se produit le problème.

Je aurait suggère que vous devez utiliser une déclaration using pour votre TextWriter et éviter d'attraper et d'avaler toutes les exceptions sans essayer de vous connecter même l'erreur.

Est-ce vraiment vraiment tout votre code? Vous n'utilisez pas du tout args? Il est difficile de voir comment ce code conduirait à IndexOutOfRangeException ...

+0

J'ai essayé l'instruction using, toujours la même chose. Même supprimé la chaîne args []. Toujours le même. – Oded

+0

Je l'ai compris. Lors de l'exécution de testCS.exe, il a apparemment cherché le fichier dans/SVNServer/bin et non dans le dossier hooks. Dans le dossier bin j'ai eu un fichier testCS.exe avec IndexOutOfRangeException. Merci. – Oded

+0

J'ai presque mentionné "êtes-vous sûr que vous exécutez le binaire que vous pensez que vous êtes en cours d'exécution", mais n'a pas dérangé à la fin. Oops. –

Questions connexes