我在公司机器上工作,无法更改 Windows 用户名。我在本地运行 TortoiseSvn,我想将提交更改为我的名字。我不想右键单击每个提交并手动更改名称。有没有办法做到这一点?我知道有几个关于此的线程,但没有解决方案。
最佳答案
是的,有一种方法可以做到,但您可能做不到。
在 Subversion 中,有两种类型的属性:随文件本身一起修订的文件属性,以及不附加到文件但附加到修订的修订属性。这些没有版本控制。
有几个标准修订属性:
- svn:log:这是提交注释。
- svn:author:这是提交的用户。
- svn:date:这是提交的日期和时间戳。
您可以使用此命令更改任何这些修订属性:
$ svn pset svn:log --rev-prop -r193 "The commit comment for revsion #193 is this!"
用 PowerShell 或 Python 或 Perl 编写脚本一次对一大堆修订执行此操作相当简单。但是,您可以想象,如果您可以随心所欲地更改任何 Subversion 修订版的日期、作者身份和提交评论,这会造成什么样的破坏。
因此,为了能够使用 rev-prop
更改,存储库必须有一个钩子(Hook)来允许您执行此操作。这是您必须有一个钩子(Hook)来明确允许允许的操作的唯一情况。当然,您是否有能力创建这样的钩子(Hook)是非常值得怀疑的。
现在,我假设您正在谈论已经提交的修订。如果您正在共享一个工作副本,并且您进行了更改,然后与其他人一起提交这些更改,那么您完全错误地使用了 Subversion。
每个用户都应该有自己的工作目录,他们可以在其中进行更改。这样,存储库将记录谁做了提交而没有任何恶作剧。
如果您只是想使用您的 Windows 名称以外的名称从存储库中 check out ,您可以将您的身份验证保存在本地计算机上,Subversion 将在从该存储库 check out 时使用该授权。
我相信授权存储在 %HOMEPATH%.subversion\auth 目录下。找到授权的文件并删除它应该不会花费太长时间。然后,下次结帐时,您需要指定用户和密码并保存凭据。之后,这就是 TortoiseSVN 在您使用该存储库时默认使用的内容。
这是三个不同的答案,涵盖了使用 Subversion 和凭据的三种不同情况。如果我没有回答正确的场景,请编辑你的问题并准确解释你的意思和你想要完成的事情。你描述的情况不是很清楚。
关于windows - TortoiseSVN 和重命名作者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12416850/