【问题标题】:Custom revision properties in Mercurial?Mercurial中的自定义修订属性?
【发布时间】:2011-01-03 11:12:39
【问题描述】:

我可以为我的 hg 存储库设置一个自定义属性,以便我可以为每个修订存储/检索它的值吗?比如提交时东京的天气等等。

git 也一样?

【问题讨论】:

    标签: git mercurial custom-properties


    【解决方案1】:

    Mercurial 没有像 Subversion 那样内置管理属性的方式。不过,它确实有一些基础设施。您必须编写一个扩展程序并决定是否希望元数据存在于历史内部或外部:

    • 历史之外的元数据: bookmarks extension 将是一个很好的起点,因为它已经向您展示了如何管理过时的元数据以及如何在推送和拉取时移动这些数据。

    • 历史中的元数据: 当数据成为历史的一部分时,对于您的扩展来说,事情就变得更简单了。 transplant extension 是一个扩展示例,它通过内部提交函数的 extra 字典参数将额外的元数据嵌入到变更集中。

    恐怕我不知道 Git。

    【讨论】:

    • 编写扩展是个好主意,但是,我还没准备好花时间在上面。我将采用自定义文件方式。还是谢谢!
    【解决方案2】:

    这可能是一份工作:

    在这两种情况下,上述钩子都会获取您需要的信息并更新一个负责保留该属性的特定文件。

    【讨论】:

    • 谢谢它真的很深刻,但我问的是另一件事。我正在寻找的是一些本机管理的机制,因此我不必添加另一个文件来保留这些道具。例如,您可以使用 SVN 编写 svn propset weather '...'。类似的东西..
    • @ulu:不,Git(我怀疑 Mercurial)不像 svn 管理属性那样管理元数据。您需要 一个 文件来包含您要管理的内容。
    • VonC 是对的,Mercurial 也没有类似 SVN 的属性支持。 Mercurial 方法是将元数据保存在普通文件中。隐藏文件.hgtags 是一个内置示例。同样,您可以设置一个名为 .props 的隐藏文件 - 它不会在常规视图中弄乱您的工作区。虽然,AFAIK,应该可以编写一个扩展,将附加字段添加到提交消息(在 authordate、...旁边)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多