11

我使用 TortoiseSVN 访问基于文件的本地 repo。在我的所有提交中,作者是我的 Windows 登录名。是否可以使用不同的名称?

我知道提交后如何更改作者,但之前如何更改?安装 apache/svnserver 不是一个选项。

4

5 回答 5

16

是的,这是可能的。

TortoiseSVNsvn命令行客户端在您的配置文件文件夹中共享相同的设置位置。因此,您可以简单地使用svn.exe签出一个版本:

$ svn co --username different_user_name file:///C:/path/to/your/repo

... Subversion 将愉快地替换该存储库的关联用户名。来自 TortoiseSVN 的新提交将始终使用该用户名,无论您使用什么程序进行新的签出。

该程序应适用于 TortoiseSVN 1.5.5。如果没有,请先尝试清空 svn 的身份验证缓存 ( %APPDATA%\Subversion\auth\svn.username)。

于 2008-11-05T14:27:20.753 回答
1

另一种可能的解决方法(但我提倡)是在提交之前使用客户端钩子脚本,以更改用户名。

钩子脚本在 Subversion 书中讨论,本地钩子在 TortoiseSVN 帮助的“客户端钩子脚本”中讨论。

于 2008-10-28T08:57:00.990 回答
0

据我所知,TortoiseSVN 没有提供任何方法来做到这一点。

大概这不是一个大问题,因为基于文件的访问对于多用户场景是不切实际的,而对于单用户来说,作者姓名的重要性较低。

一种可能的解决方法是使用您想要的作者姓名创建另一个 Windows 用户名并与之连接。

于 2008-09-05T12:32:00.197 回答
0

我从来没有在 Windows 机器上托管过 svn,所以这是在黑暗中拍摄的。您可能能够创建一个新的 Windows 用户并在浏览、签出、提交等时指定该用户。假设您要更改为msznajder. 在 Windows 中创建一个具有该名称的用户,然后尝试使用 TortoiseSVN 的 Repo 浏览器浏览存储库并在 URL 中指定用户名 - 类似于file:///msznajder@localhost/some/file/path.

于 2008-09-05T12:34:16.523 回答
0

我建议设置一个 post-commit-hook(在你的 repo 的 hooks 文件夹中 - 只需将 post-commit-hook.tmpl 复制到 post-commit-hook.bat 并清空它 [1]

svn propset svn:author --revprop -r HEAD <author> file:///<path-to-repo>[2]

[1] 前提是安装了 SlikSvn 或类似的,即命令行 svn 访问是可能的)

[2] (或 .sh 如果在 linux 上,带有 #!/bin/bash 序言)具有相同的内容

于 2009-04-22T21:04:11.627 回答