2010-08-19 41 views
3

我是SharpSVN的新手(坦率地说 - 对C#来说也很新颖)。我一直在尝试获取一个简单的预先提交钩子来检查评论。 (即承诺在没有评论的失败)用SharpSVN在C#中预先提交钩子

有几个职位(如this one),这是相关的,有益的,但我有一个是让我进一步得到一些基本问题:

1)我如何获得像上面在C#中运行的链接的代码? (即,我将使用哪个C#上下文 - 控制台应用程序?csharp类?)

2)在Windows Server上下文中,如何调用我编译的C#程序?

我试过this answer's方法论没有运气。

在此先感谢。

回答

4

如果你正在创建一个pre-commit钩子,你应该把它叫做pre-commit.exe。 (Subversion接受扩展名为.exe,.cmd,.bat和.wsf的钩子。)

挂钩通过stdout,stderr进行通信,并且在某些情况下是stdin,因此您应该将应用程序编译为控制台应用程序。

要使钩子正常工作,必须将.exe(和所需的DLL)放入存储库的钩子目录中。

有关示例代码,请参阅How to access file information in a pre-commit hook using SharpSVN

0

将您的“挂钩”编译为控制台应用程序,然后编写一个调用您的控制台应用程序的批处理文件。批处理文件需要正确命名并放置在Subversion存储库的“hooks”文件夹中。

对于您的特定情况,应该将该批处理文件称为pre-commit.bat(或pre-commit.cmd)。

0

我不得不让用户错误地犯错误的分支。所以我写了一个预先提交的钩子来检查关键值的注释。如果注释未以正确的键开始,则提交被中止。

下面是该项目: http://sourceforge.net/projects/csvnprecommit/

随意使用它作为一个基地为自己的钩或使用它作为。如果你发现一个错误提交给项目。

相关问题