【问题标题】:TortoiseSVN and renaming authorTortoiseSVN 和重命名作者
【发布时间】:2012-09-14 01:01:58
【问题描述】:

我在公司机器上工作,无法更改 Windows 用户名的名称。我在本地运行 TortoiseSvn,我想将提交更改为我的名字。我不想右键单击每个提交并手动更改名称。有没有办法做到这一点?我知道有几个关于此的线程,但没有解决方案。

【问题讨论】:

    标签: windows svn tortoisesvn local author


    【解决方案1】:

    是的,有办法做到这一点,但你可能做不到。

    在 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 更改,存储库必须有一个钩子来允许您执行此操作。这是您必须有一个钩子才能显式允许允许的操作的唯一情况。当然,您是否有能力创建这样的钩子是非常值得怀疑的。


    现在,我假设您在谈论已经提交的修订。如果您正在共享一个工作副本,并且您进行了更改,然后与其他人一起提交了这些更改,那么您使用的 Subversion 完全是错误的。

    每个用户都应该有自己的工作目录,他们可以在其中进行更改。这样,存储库将记录谁进行了提交,而没有任何恶作剧。


    如果您只是想使用 Windows 名称以外的名称从存储库中签出,您可以将身份验证保存在本地计算机上,Subversion 将在从该存储库中签出时使用该授权。

    我相信授权存储在 %HOMEPATH%.subversion\auth 目录下。找到授权文件并删除它应该不会花费太长时间。然后,下次结帐时,您需要指定用户和密码并保存凭据。之后,这就是 TortoiseSVN 在您使用该存储库时默认使用的内容。


    这是三个不同的答案,涵盖了使用 Subversion 和凭据的三种不同情况。如果我没有回答正确的场景,请编辑您的问题并准确解释您的意思以及您想要完成的任务。你描述的情况不是很清楚。

    【讨论】:

      猜你喜欢
      • 2010-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-29
      相关资源
      最近更新 更多