如何重命名 SVN 用户作者?

3

有没有直接的方法来重命名svn用户的名称?

我只找到了这个Linux脚本(链接)。 我认为应该有更简单的Windows方式。

我们使用VisualSvnServer作为svn服务器,TortoiseSNV在客户端上使用。

3个回答

2

在TortoiseSVN中:

  1. 打开日志对话框。
  2. 然后在筛选器中输入用户名,以便只显示您要更改作者的那些版本。
  3. 选择所有这些版本
  4. 右键单击以获取上下文菜单
  5. 选择“编辑作者”
  6. 输入新的作者名称,点击“确定”
  7. 等待
  8. 完成

注意:如果要更改多个版本的作者,您需要使用TSVN 1.7 - 在1.6中,只能逐个更改一个版本的作者。

要更改将来提交的用户名,请启动VisualSVN服务器管理器(在服务器上),选择存储库,右键单击,选择“属性”,然后在那里编辑用户名。


这将更改作者的昵称。此用户提交的以下文件将具有先前的名称。我的意思是,VisualSVNServer 将不知道用户的名称已更改。历史记录只会中断,而不是实际用户。 - Odys
是的,但那正是你找到并链接的Linux脚本所做的。 - Stefan
这个功能在哪个版本的VisualSVN中可用?我有免费版,但在属性对话框中没有看到它。 - Odys

1

你可以使用TortoiseSVN编辑svn:author修订属性,以便进行更改。但仅适用于需要仅更改单个或可能两个修订版本的情况...如果你有超过十个修订版本,那么你应该考虑编写脚本。此外,必须允许服务器端更改修订属性,通常不允许这样做。


我之前认为作者有一个参考和昵称。我不知道在每个文件的每个版本中,名称都是硬编码的。 我的目标是重命名访问svn的用户,而不是特定文件/版本的作者。这不可能吗? - Odys
将检入修订版本的用户存储到svn:author属性中。首先尝试更改USER环境变量...另一方面,您引用的Linux脚本确实更改了修订版本的作者。 - khmarbaise
你的用户在客户端机器上是如何进行身份验证的(Windows 账户)?你可以使用 --username/--password 更改你的凭据。 - khmarbaise
用户是使用VisualSvnServer定义的。该界面没有重命名选项。 - Odys
当然,您可以添加一个新的用户名/密码组合,并更改一些现有用户的凭据,以使用新创建的凭据。 - khmarbaise

1
你应该像这样使用预修订属性更改钩子:
if /I not "%4" == "svn:author" exit 0
echo Only changes to svn:author messages are allowed. >&2
exit 1

请注意,此钩子允许所有经过身份验证的用户更改svn:author属性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接