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