我们编写了一个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存储库中创建