TortoiseHg 在合并期间删除添加的文件

TortoiseHg removing added files during merge

我有一个存储库,其中有两个分支 MAINFEATURE1。分支后不久,我需要修复错误,然后用版本号标记 MAIN。这些是分支后 MAIN 上的唯一更改。我一直在 FEATURE1 工作并添加了几个文件。

1--2----4--5
    \
     3--------6--7--8

Note There is a single conflicting change between the bug fix and the feature.

现在,我的功能已经完成,我想将 FEATURE1 (8) 合并到 MAIN (5) 中。但是当我执行合并时,我的任何更改似乎都没有移到 MAIN 分支中。

当我在没有提交的情况下执行合并时,我注意到了一些事情:

这几乎就像它以 MAIN 作为源,以 FEATURE1 作为目的地,但我确定我正在合并进入 MAIN。我更新到MAIN(5),右击FEATURE1(8),selectMerge to Local ...。结果分支按预期显示为 MAIN 的一部分。

我以前从未使用 TortoiseHg 或 Mercurial 进行过分支。我习惯了 TFS,我感觉我得到了相反的行为。

基本上,我希望我在 FEATURE1 中所做的更改出现在 MAIN.

很明显,TortoiseHg 工作正常。我的沮丧是误读 UI.

的结果

每当您在 TortoiseHg 中更新到不同的修订版时,它都会给您一个带有复选框的对话框,允许您放弃当前分支中未提交的更改。

Discard local changes, no backup (-C/--clean)

合并时,消息相似,但含义却截然不同。

Discard all changes from merge target (other) revision

第一个表示您要撤消未提交的更改,第二个表示您要合并分支而不引入任何更改。

附带说明一下,我不明白为什么会有这个功能。为什么要合并分支 而不 迁移更改?关闭分支似乎更容易。