在使用Mercurial(使用TortoiseHG)之前自动搁置?

时间:2012-02-09 08:52:10

标签: mercurial tortoisehg pull shelve

我有一些我不想提交的更改文件(例如web.config)。在我提取并更新到新的变更集之前,我必须搁置它们。之后拉动&更新,我不得不取消他们。

我目前正在使用TortoiseHG。有没有可以自动执行此操作的扩展程序?

4 个答案:

答案 0 :(得分:5)

我建议别的东西:你可以使用两个不同的配置文件,而不是总是搁置和取消搁置,一个是存储库的一部分,包含虚拟/示例数据,另一个是每个用户真正在本地使用的,被Mercurial忽略。

查看this answer以获取更详细的解释。我的意思 我给出的示例是针对Visual Studio,我从您的其他问题和答案中看到您显然使用.net和Visual Studio,因此您可以完全按照书面形式使用我的示例。

答案 1 :(得分:2)

在Mercurial中,只有hg pull -u。未提交的更改将与提示合并。与搁置,拉/更新,取消搁置的结果相同。使用TortoiseHg会出现一个对话框,提示丢弃/搁置/合并。

您可以通过这种方式获得合并对话框,但是搁置方法也是如此,因为取消搁置可能也必须合并。如果没有冲突,您将无法从命令行获得提示。如果没有冲突,TortoiseHg可以选择禁止对话,但我还没有检查过。

答案 2 :(得分:0)

我会尝试一些不同的东西。

特别是关于Web.config文件,您可能希望查看使用本地配置文件进行覆盖,而不是保留未提交的本地更改。 (例如,引用.hgignore中的单独文件)。我过去曾参与的项目是将测试/产品配置与开发设置分开,反之亦然。

我认为没有任何扩展可以为您执行此操作,但您可能最好编写快速批处理或PowerShell脚本来为您执行此工作流程。在之前的项目中,我有一个脚本可以执行类似的操作,它会执行pull / update / rebase以保持我的更改在尖端(我正在使用hg对抗SVN服务器,这使得重要。)

我知道我没有直接回答你的问题,但我希望这有帮助!

答案 3 :(得分:0)

直接回答:https://pypi.org/project/hg-autoshelve/

但是,如以下建议所建议的,专用于配置文件的存储库似乎是一个更好的主意 克里斯蒂安·施佩特(Christian Specht)there