TortoiseSVN:在提交消息中传播用户信息

时间:2016-01-25 09:29:08

标签: c# svn tortoisesvn

我们编写了一个C#.NET 4.6应用程序,它使用Tortoise v1.8.10作为客户端,使用VisualSVN v3.3.1作为服务器。

多个用户共享同一台计算机。他们使用常见的Windows域帐户登录计算机,因为并非所有用户都拥有自己的域帐户(临时用户,外部客户端......)。

出于这个原因,我们开发了一个内置的用户管理系统,它使用自己的用户名&密码数据库检查用户权限。

VisualSVN服务器配置为使用基本和集成Windows身份验证模式。

由于Windows集成身份验证模式,常用Windows帐户的用户名用于协议提交请求。

我们希望我们自己的用户名可以用于此类提交请求,或者至少我们可以告诉Tortoise每个程序在日志消息中使用它。

有没有人能解决这个问题?

我在后来的帖子中看到过: 如果要修复提交的作者,可以使用svn propset --reveprop命令为特定修订设置svn:author revision属性。您必须启用pre-revprop-change.sh挂钩,因为默认情况下禁止更改属性更改。

自从我在一个单独的进程中启动TortoiseProc.exe以来,如何获取提交的修订号?

如何在服务器端启用此挂钩?

谢谢,菲尔。

1 个答案:

答案 0 :(得分:2)

正确的方式(tm)中使用正确的事物(tm)

  • TortoiseProc(GUI工具,需要用户干预按下按钮,选择选项等)至少是搞笑选择 - 因为非交互式全自动CLI在大多数情况下是首选的
  • 您可以(有?)存储在某个默认常规位置中的每个提交中(提交树的目录根可能是好的候选者) 嗯,SVN Book提示我使用--with-revprop选项进行提交而不是使用directory-property作为更自然的方式 custom SVN-property,其中包含提交者和提取的“良好用户名”并在post-commit hook中应用此属性中的值以替换不好的域用户名。
  • 共同阅读SVN Book about hooks,特别是pre-revprop-change hook,检查并修改|重命名默认pre-revprop-change.tmpl,这是在每个SVN存储库中创建的以及其他挂钩模板