Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
拉入Mercurial(带乌龟)前的自动搁板?_Mercurial_Tortoisehg_Pull_Shelve - Fatal编程技术网

拉入Mercurial(带乌龟)前的自动搁板?

拉入Mercurial(带乌龟)前的自动搁板?,mercurial,tortoisehg,pull,shelve,Mercurial,Tortoisehg,Pull,Shelve,我有一些不想提交的已更改文件(例如web.config)。在我提取和更新新的变更集之前,我必须将它们搁置起来。在拉取和更新之后,我必须取消搁置它们 我现在用的是乌龟。是否有任何扩展可以自动执行此操作?我将尝试使用此功能执行一些不同的操作 特别是关于Web.config文件,您可能希望考虑使用本地配置文件进行覆盖,而不是不提交本地更改。(例如,引用.hgignore中的单独文件)。我在过去工作过的项目这样做是为了将测试/产品配置与开发设置分开,反之亦然 我不认为有任何扩展可以为您做到这一点,但您最

我有一些不想提交的已更改文件(例如web.config)。在我提取和更新新的变更集之前,我必须将它们搁置起来。在拉取和更新之后,我必须取消搁置它们


我现在用的是乌龟。是否有任何扩展可以自动执行此操作?

我将尝试使用此功能执行一些不同的操作

特别是关于Web.config文件,您可能希望考虑使用本地配置文件进行覆盖,而不是不提交本地更改。(例如,引用.hgignore中的单独文件)。我在过去工作过的项目这样做是为了将测试/产品配置与开发设置分开,反之亦然

我不认为有任何扩展可以为您做到这一点,但您最好编写一个快速批处理或powershell脚本来为您完成此工作流。在以前的项目中,我有一个脚本,它可以做一些类似的事情,它可以执行拉/更新/重基操作,以保持我的更改处于最佳状态(我与hg合作使用的是一个SVN服务器,这使它变得非常重要)


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

在Mercurial中,只需
hg pull-u
。未提交的更改将与tip合并。与搁置、拉/更新、取消搁置的结果相同。对于陆龟,将出现一个对话框,提示放弃/搁置/合并


您可以通过这种方式获得一个合并对话框,但搁置方法也是如此,因为取消搁置也可能需要合并。如果没有冲突,您将不会从命令行得到提示。如果没有冲突,TortoiseHg可能有一个选项来抑制对话框,但我没有检查。

我建议做一些其他事情:不必总是搁置和取消搁置,您可以使用两个不同的配置文件:一个是存储库的一部分,包含虚拟/示例数据,另一个是每个用户真正在本地使用的配置文件,这被Mercurial忽略了

有关我的意思的更详细解释,请查看。
我举的例子是针对Visual Studio的,我从您的其他问题和答案中看到,您显然在使用.net和Visual Studio,因此您可以完全按照所写的那样使用我的例子。

直接回答:

但是,正如作者所建议的那样,为配置文件建立一个专用的存储库似乎是一个更好的主意
Christian Specht尚未对其进行充分研究,但我在Mercurial的最新版本中看到了一些秘密变化->这是一个很好的解决方案。我们将web.config.default保存在存储库中,并在本地创建一个副本,并根据需要将其命名为web.config。这对于配置文件场景来说是一个很好的解决方案,但这可能不是处理本地修改的不应提交的跟踪文件的最佳通用解决方案;VB6项目文件(VBP)因被IDE自动修改而臭名昭著,从而使它们成为开发人员PC的专用文件;但您通常不想提交这些更改。@DaveInCaz这些更改不是由
.hgignore
更好地处理吗?@DanielH否,因为它们是项目的一部分,必须受源代码控制。有时,在个案的基础上,您确实需要向他们提交更改。,