2010-08-04 52 views
3

比方说,我有两个分支名为defaultnewfeature。我在这两个分支中都有一个名为readme.txt的文件。我正在研究newfeature分支,并对readme.txt进行了更改。如果我运行hg up default而不进行更改,Mercurial会自动将newfeature中的readme.txt版本合并到default中。如何防止在Mercurial中切换分支时自动合并文件?

我该如何改变这种行为?我担心的是开发人员在转换分支之前忘了提交,因此合并了他们一直在处理的任何内容。

这是个什么过程是这样的:

C:\source\BranchTest\Main>hg branch 
Exams 

C:\source\BranchTest\Main>hg status 
M readme.txt 

C:\source\BranchTest\Main>hg up default 
merging readme.txt 
0 files updated, 1 files merged, 0 files removed, 0 files unresolved 

C:\source\BranchTest\Main> 

通知自动进行合并,因为我没有犯的变化readme.txt文件。 Mercurial并不警告我会发生这种情况。

有什么建议吗?

+0

至少这让我意识到合并正在发生,因为我没有提交更改。谢谢。 – 2014-01-30 18:20:09

回答

5

使用hg up -c(小写'c')。这将在更新之前检查你的工作目录。

您可以在hgrc文件中将其设置为默认值。

+4

但要小心非常类似的'hg up -C',它会放弃对工作目录所做的任何更改。 – 2010-08-04 20:00:52

+0

看起来很简单。谢谢! – 2010-08-05 03:49:31

+1

在这种情况下,坚持'hg update --check'和'hg update --clean'来消除歧义。 – 2012-05-25 13:56:35

相关问题