3

我是 SharpSVN 的新手(坦率地说——对 C# 也很陌生)。我一直在尝试使用一个简单的预提交挂钩来检查评论。(即在没有评论的情况下提交失败)

有几篇相关且有用的帖子(如这篇文章),但我有一些基本问题使我无法进一步发展:

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

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

我已经尝试过这个答案的方法,但没有运气。

提前致谢。

4

3 回答 3

4

如果您正在创建一个预提交挂钩,您应该将其命名为 pre-commit.exe。(Subversion 接受带有扩展名 .exe、.cmd、.bat 和 .wsf 的钩子。)

Hooks 通过 stdout、stderr 和某些情况下的 stdin 进行通信,因此您应该将您的应用程序编译为控制台应用程序。

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

有关一些示例代码,请参阅如何使用 SharpSVN 在预提交挂钩中访问文件信息

于 2010-08-20T04:26:05.020 回答
0

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

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

于 2010-08-19T17:26:25.790 回答
0

我必须防止用户错误地提交到错误的分支。所以我写了一个预提交钩子来检查评论中的关键值。如果评论不是以正确的键开头,则提交被中止。

这是项目:http: //sourceforge.net/projects/csvnprecommit/

随意将它用作您自己的钩子的基础或按原样使用它。如果您发现错误,请将其提交给项目。

于 2012-11-27T23:28:57.113 回答