gpt4 book ai didi

SVN 显示用户名而不是用户 ID

转载 作者:行者123 更新时间:2023-12-01 01:59:40 24 4
gpt4 key购买 nike

所以我们有这个 SVN 存储库,在此之前提交者的名称被整齐地显示,并且更容易跟踪谁做了什么。最近,svn 存储库被移动到另一台服务器,并且它被设置为现在当我们检查日志时,我们只能看到作者的用户 ID。我相信我们可以更新服务器中的 SVN authz 或其他一些设置文件来添加作者姓名。

我想问的是,有没有办法在客户端做到这一点?主要是因为我们无权修改 SVN 服务器设置。有没有办法我可以有一个 Prop 或什么东西可以让我有映射并且它可以显示在日志中。

我使用 tortoiseSVN 作为 SVN 客户端。

最佳答案

这些 Subversion 用户 ID 来自哪里?您的 Subversion 是否像 Windows Active Directory 那样与 LDAP 集成,或者这是一个单独的 Subversion 授权文件?
用户 ID 是否从旧服务器(人们用来使用其姓名的地方)更改为当前用户 ID?
我能想到两件事:

  • 您通过 LDAP 使用 Windows AD,旧服务器已根据用户的 cn 进行验证属性,而新属性针对 sAMAccountName 进行验证.
  • 你的旧服务器有一个 post-commit 钩子(Hook),它改变了 svn:author从用户的登录 ID 到用户名的修订属性。

  • 你还有旧的 Subversion 服务器吗?您应该看看是否可以在设置中找到差异。

    补充评论

    Thanks David. I will check that though I am not sure if I will be able to, because of access restrictions. Do you know if I could just set a client side prop value like set "X123" as "John Doe". So that when I view log all the committer's name that has X123 will show up as John Doe?

    svn:author revision 属性包含进行提交的用户的名称。您可以将其更改为您想要的任何内容。正如我之前所说,我已经看到网站使用提交后 Hook 来执行此操作。我不喜欢这样做。但是,某些网站似乎会为用户名选择随机字符串。点赞 X123正如你在你的例子中所说。诱惑命运改变的诱惑 svn:author可以很强大。
    我可以提出一些建议:
  • 您可以使用 Jenkins 之类的内容. Jenkins 是一个持续构建引擎。但是,它还将您的完整历史记录存储在易于使用的界面中。如果您使用 LDAP 或 Windows AD,它可以做的一件事就是将用户 ID 转换为实际名称。因此,如果您查看您在 Jenkins 上的历史记录,您会看到实际的用户名。
  • 您可以使用另一个修订属性。例如,local:username .这又是由 post-commit 钩子(Hook)完成的。但是,它不会改变 svn:author修订属性,因此您不会有任何可能的副作用。当您需要通过 svn pg --rev-prop -r $rev 查看用户名时,您可以快速查找。命令。或者您可以通过 svn log 查看它如果您使用 --with-rev-prop local:username--with-all-revprops参数以及 --xml参数(抱歉,仅在 XML 格式时显示在日志中)。

  • 顺便说一句,如果您确实使用提交后 Hook 来更改 svn:author ,或添加 local:username修订版属性,您还需要添加一个 pre-revprop-change 以授予您更改/添加修订版属性的权限。这与所有其他钩子(Hook)相反。在这些钩子(Hook)中,您必须生成一个非零退出值才能阻止某个操作。在这个中,您希望生成一个零退出值以允许执行操作。如果没有这个钩子(Hook),您将无法更改修订属性。

    关于SVN 显示用户名而不是用户 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16404616/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com