gpt4 book ai didi

svn - 在不更改文件的情况下向颠覆添加评论?

转载 作者:行者123 更新时间:2023-12-04 14:32:34 25 4
gpt4 key购买 nike

我想在给定文件的颠覆日志或历史记录中添加评论,但没有与该文件关联的更改。

有没有办法在不实际更改文件的情况下向 svn 日志添加或注入(inject)评论。

我正在寻找一种在某些事件发生后仅在日志中标记文件的方法,例如代码审查。

我不想做一个 svn 副本来创建一个全新的分支。我只想要在某个时间点与单个文件关联的评论。

这里有什么建议吗?

最佳答案

在 Subversion 中,有两种类型的属性:

  • 文件属性 :这些是与文件关联的属性。它们被修订,就好像它们是文件本身的一部分。
  • 修订属性 :这些是与单个修订相关的属性。每个修订版只能有一种类型的属性。它们没有版本化,因此更改修订属性将丢失有关旧信息的历史信息。作为安全预防措施,如果不先创建允许您执行此操作的 pre-revprop-change Hook ,您将无法更改修订属性。

  • 最重要的是,与每个修订相关的三个特殊修订属性非常重要:
  • svn:log : 这是提交信息
  • svn:date :这是提交完成的日期和时间。
  • svn:author :这是执行提交的用户。

  • 所以,问题是你想做什么。如果要向文件添加注释,可以向该文件添加文件属性。但是,这被认为是文件更改,因此您必须进行检查, svn pset然后是在该文件上创建新修订的提交。

    如果您想为存储库中的特定修订添加新评论,则无需创建新修订即可。但是,您必须创建一个 pre-revprop-commit钩子(Hook)文件,允许您进行这些修改。你有两种方法可以做到这一点:
  • 修改svn:log与您的评论这可能是最简单的方法。但是,不会记录提交消息中的更改,因此您会在此过程中丢失原始提交消息。优点是这条评论会自动显示svn:log。命令。

  • 例如:
    $ old_comment=$(svn pget -r 100 -revprop svn:log http://myhost/svn/repos)
    $ new_comment="$old_comment
    > ================ COMMENT ON REVISION ================
    > This was a change needed for a particular customer"
    $ svn pset -r 100 --revprop svn:log "$new_comment"
  • 您还可以创建一个包含您的评论的新修订属性。例如 corp:comment (我使用 corp 表示与我公司相关的特殊属性)。您可以在 svn log 中显示这些评论消息,但仅限 xml 格式。

  • 例如:
    $ svn pset --revprop -r 100 foo:comment "This was a change needed for a particular customer" http://host/svn/repos

    现在,当您记录日志时,您可以看到该评论:
    $ svn log --with-revprop foo:comment --xml -r 100 http://host/svn/repos
    <?xml version="1.0"?>
    <log>
    <logentry
    revision="100">
    <revprops>
    <property
    name="foo:comment">This was a change needed for a particular customer</property>
    </revprops>
    </logentry>
    </log>

    关于svn - 在不更改文件的情况下向颠覆添加评论?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10092542/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com