【问题标题】:Mercurial pre commit operationMercurial 预提交操作
【发布时间】:2020-05-13 11:39:03
【问题描述】:

我一直在努力解决以下有关使用 Mercurial 的源代码版本控制的问题。一方面,我在本地工作目录中获得了源代码,并且这些源代码受 Mercurial 控制。另一方面,我的 IDE 中自动生成的工作区中有这些源代码的副本,并且这些源代码不受 Mercurial 控制。那就是问题所在。因为我将通过我的 IDE 对源代码进行修改。因此,我将修改不受 Mercurial 控制的源代码。我需要有一些同步机制,以确保通过我的 IDE 对源代码所做的更改将反映到工作目录中。

我有一个想法,我可以通过以某种方式扩展 hg commit 命令来实现这种同步机制,它首先将源代码从工作区复制到工作目录,然后实际执行提交。

谁能告诉我上面描述的想法是否可行?感谢您的任何建议。

【问题讨论】:

    标签: mercurial mercurial-hook mercurial-extension


    【解决方案1】:

    谁能告诉我上面描述的想法是否可行?

    简而言之 - 不。仅仅因为您的 IDE 空间(现在)根本没有链接到 Mercurial

    好的正确实用的方法是:

    • 在工作目录中工作,这也是您的 IDE 空间,忽略您 IDE 中所有不需要的人工制品
    • 不要重复大量权威来源

    【讨论】:

    • 感谢您的回答。我花了一些时间研究我上面想法的可行性,我认为我可能已经找到了解决方案。 Mercurial 可以定义所谓的钩子。据我正确理解,这些钩子可以调用用户定义的 Python 脚本,以防发生有关存储库的某些操作,例如hg commit 命令被调用。我的想法是使用 pre-commit 钩子,它将调用 Python 脚本,以将源代码从 IDE 工作区复制到本地工作目录,以防为工作目录调用 hg 提交。
    • @Steve 你也许可以完成这项工作,但为什么要让自己这么难呢?只需将 HG 指向您的实际工作文件夹即可。
    • 对不起,懒獾和 UuDdLrLrSs。我的问题是基于我对 IDE 文档的误解。 Lazy Badger 的回答帮助我理解了文档的正确含义。谢谢。
    猜你喜欢
    • 2013-05-13
    • 2010-12-22
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多