使用 SharpSVN 在 C# 中预提交挂钩

发布于 2024-09-14 18:34:08 字数 461 浏览 11 评论 0原文

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

有几篇文章(例如这个)是相关且有帮助的,但是我有一些基本问题阻碍我进一步了解:

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

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

我尝试过这个答案的方法,但没有成功。

提前致谢。

I'm new to SharpSVN (and frankly--pretty new to C# as well). I've been trying get a simple pre-commit hook working which checks for a comment. (i.e. the commit fails in the absence of a comment)

There are several posts (like this one) which are related and helpful, but I have a few fundamental questions that are keeping me from getting further:

1) How do I get code like the link above running in C#? (i.e. which C# context would I use-- console application? csharp class?)

2) In a Windows Server context, how do I call my compiled C# program?

I've tried this answer's methodology with no luck.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

十年九夏 2024-09-21 18:34:09

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

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

Compile your "hook" as a console application, and then write a batch file that calls your console application. The batch file needs to be named correctly and placed in the "hooks" folder of your Subversion repository.

For your specific case, the batch file should be called pre-commit.bat (or pre-commit.cmd).

梦里的微风 2024-09-21 18:34:09

我必须防止用户错误地提交到错误的分支。因此,我编写了一个预提交挂钩,用于检查评论中的键值。如果注释不是以正确的键开头,则提交将中止。

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

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

I had to keep users from commiting to the wrong branch by mistake. So I wrote a pre-commit hook that would check the comment for a key value. If the comment doesn't start with the right key the commit is aborted.

Here is the project:
http://sourceforge.net/projects/csvnprecommit/

Feel free to use it as a base for your own hook or use it as is. If you find a bug submit it to the project.

辞旧 2024-09-21 18:34:08

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

钩子通过 stdout、stderr 进行通信,在某些情况下还可以通过 stdin 进行通信,因此您应该将应用程序编译为控制台应用程序。

要使挂钩正常工作,您必须将 .exe(以及所需的 DLL)放置在存储库的 hooks 目录中。

请参阅如何访问使用 SharpSVN 来获取一些示例代码的预提交挂钩中的文件信息。

If you are creating a pre-commit hook you should call it pre-commit.exe. (Subversion accepts hook with the extensions .exe, .cmd, .bat and .wsf.)

Hooks communicate via stdout, stderr and in some cases stdin, so you should compile your application as a console application.

To get the hook working you must place the .exe (and the required DLLs) in the hooks directory of the repository.

See How to access file information in a pre-commit hook using SharpSVN for some examplecode.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文