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



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

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

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

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

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

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

有人有解决这个问题的方法吗?

我在后来的帖子中看到:如果你想修复提交的作者身份,你可以使用 svn propset --reveprop 命令来设置特定修订版的 svn:author 修订版属性。您必须启用 pre-revprop-change.sh 挂钩,因为默认设置是不允许修订属性更改。

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

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

谢谢,菲尔。

正确的方式 (tm) 使用 The Right Things (tm)

  • TortoiseProc(GUI工具,需要用户干预才能按下按钮,选择选项等)至少是有趣的选择 - 因为在大多数情况下首选非交互式全自动CLI
  • 您可以(必须?)将每个提交存储在某个默认的常规位置(提交树的目录根可能是很好的候选者)好吧,SVN Book 提示我使用--with-revprop提交选项而不是目录属性作为更自然的方式自定义 SVN 属性,它持有提交者的"良好用户名",并在提交后钩子中提取并应用此属性中的值以替换不好的域用户名。
  • 阅读SVN书,了解常见的钩子,特别是关于pre-revprop-change钩子,检查并修改|重命名默认pre-revprop-change.tmpl,它与其他钩子模板一起在每个SVN存储库中创建

最新更新