1

我们有一个内置 ASP,net 3.5 的自定义项目管理工具,我们使用 VisualSVN 进行版本管理。然而,我们正在寻找一种通过项目管理工具报告版本更改的方法,将 VisualSVN 与我们的项目管理工具集成,即非常类似于 Trac [基于 python 的 SCM 工具] 提供的。

基本上是在寻找一个简单的 VisualSVN 客户端 API,以便能够根据提供的修订集检测和报告文件更改。

4

3 回答 3

3

还有SharpSvn封装了整个 Subversion 1.5 客户端 API。它是在 Apache 2.0 许可下获得许可的,它来自 CollabNet。

于 2008-11-14T08:55:19.680 回答
0

检查Svn.NET我认为是目前 Subversion 客户端系统库的 .NET 绑定的最佳解决方案。

于 2008-11-14T07:56:39.753 回答
0

如果您对某些脚本感到满意,可以使用 svnlook,它是提供更改和存储库修改报告的工具。

我在提交后挂钩中使用它来将所有文件的更改发送到我的 bugtracker,因此它可以显示哪些文件在给定修订号的情况下被更改。我在日志中添加了一个特定的文本,它会选择它以了解将数据与哪个错误相关联。

编辑,根据要求,这个 perl 脚本是从 post-commit 钩子调用的:

$url = `svnlook log -r $ARGV[1] $ARGV[0]`;

# check the string contains the matching regexp, 
# quit if it doesn't so we don't waste time contacting the webserver
# this is the g_source_control_regexp value in mantis.

exit 1 if not $url =~ /\b(?:bug|issue|mantis)\s*[#]{0,1}(\d+)\b/i;


$url = $url . "---\nSVN Revision: " . $ARGV[1];
$url = $url . "\n" . `svnlook dirs-changed -r $ARGV[1] $ARGV[0]`;

#urlencode the string
$url =~ s/([^\w\-\.\@])/$1 eq " "?"+":  sprintf("%%%2.2x",ord($1))/eg;

print "log=$url";

exit 0;

这将写入 postcommit_mantis.txt 文件,该文件通过 curl 发送到 Mantis:

d:\tools\curl -s -d user=svn -d @c:\temp\postcommit_mantis.txt http://<server>/mantis/core/checkincurl.php
于 2009-05-05T23:40:20.367 回答