这些 Subversion 用户 ID 来自哪里?您的 Subversion 是否像 Windows Active Directory 那样与 LDAP 集成,或者这是一个单独的 Subversion 授权文件?
用户 ID 是否从旧服务器(人们用来使用其姓名的地方)更改为当前用户 ID?
我能想到两件事:
你还有旧的 Subversion 服务器吗?您应该看看是否可以在设置中找到差异。
附加评论
谢谢大卫。我会检查一下,虽然我不确定我是否能够,因为访问限制。你知道我是否可以设置一个客户端道具值,例如将“X123”设置为“John Doe”。这样当我查看日志时,所有具有 X123 的提交者的名字都会显示为 John Doe?
修订属性包含执行提交的用户的svn:author
名称。您可以将其更改为您想要的任何内容。正如我之前所说,我已经看到网站使用提交后挂钩来执行此操作。我不喜欢这样做。但是,某些网站似乎会为用户名选择随机字符串。就像X123
您在示例中所说的那样。诱惑命运和改变的诱惑svn:author
可能非常强烈。
我可以提出一些建议:
你可以使用像Jenkins这样的东西。Jenkins 是一个持续构建引擎。但是,它还将您的完整历史记录存储在易于使用的界面中。如果您使用 LDAP 或 Windows AD,它可以做的一件事就是将用户 ID 转换为实际名称。因此,如果您查看您在 Jenkins 上的历史记录,您会看到实际的用户名。
您可以使用另一个修订属性。例如,local:username
。这又是由 post-commit 钩子完成的。但是,它不会更改svn:author
修订属性,因此您不会有任何可能的副作用。当您需要通过svn pg --rev-prop -r $rev
命令查看用户名时,您可以进行快速查找。svn log
或者,如果您使用--with-rev-prop local:username
或--with-all-revprops
参数以及参数,您可以查看它--xml
(抱歉,仅在 XML 格式时显示在日志中)。
顺便说一句,如果您确实使用 post-commit 挂钩来更改svn:author
或添加local:username
修订属性,您还需要添加 pre-revprop-change 以授予您更改/添加修订属性的权限。这与所有其他钩子相反。在这些钩子中,您必须生成一个非零退出值才能阻止某个操作。在这个中,您希望生成一个零退出值以允许执行操作。如果没有这个钩子,您将无法更改修订属性。