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

Mercurial 在合并期间删除添加的文件,mercurial,tortoisehg,branching-and-merging,Mercurial,Tortoisehg,Branching And Merging,我有一个存储库,其中有两个分支MAIN和FEATURE1。分支后不久,我需要进行bug修复,然后用版本号标记MAIN。这些是在分支之后对MAIN的唯一更改。我一直在FEATURE1中工作,并添加了几个文件 1--2----4--5 \ 3--------6--7--8 3-创建分支 4-错误修复 5-添加标签 6-8-功能更改 注意错误修复和功能之间有一个冲突的更改 现在,我的功能已经完成,我想将功能1(8)合并到主功能(5)中。但是当我执行合并时,我的任何更改似乎都没有

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

1--2----4--5
    \
     3--------6--7--8
  • 3-创建分支
  • 4-错误修复
  • 5-添加标签
  • 6-8-功能更改
注意错误修复和功能之间有一个冲突的更改

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

当我在未提交的情况下执行合并时,我注意到以下几点:

  • 在源分支(功能1)中添加的所有文件都标记为删除
  • 有很多
    .orig
    文件(我不知道这些是什么)。这些被标记为
    (未知操作)且未提交
  • 现有文件按预期标记为“M”(已修改),但不会迁移更改
这几乎就好像它将MAIN作为源,FEATURE1作为目标,但我确信我正在合并到MAIN中。我更新到MAIN(5),右键单击FEATURE1(8),然后选择合并到本地…。生成的分支按预期显示为MAIN的一部分

我以前从未使用过龟甲或水银。我已经习惯了TFS,我觉得我得到了相反的行为


基本上,我希望我在FEATURE1中所做的更改能够出现在主界面中。

很明显,TortoiseHg工作正常。我的挫败感是误读用户界面的结果

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

放弃本地更改,无备份(-C/--clean)

当合并时,消息是相似的,但具有非常不同的含义

放弃合并目标(其他)版本的所有更改

第一种方法意味着要撤消未提交的更改,第二种方法意味着要合并分支而不带来任何更改


另一方面,我不明白为什么会有这样的功能。为什么要合并分支而不迁移更改?关上树枝似乎更容易。

显然,乌龟的工作方式是正确的。我的挫败感是误读用户界面的结果

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

放弃本地更改,无备份(-C/--clean)

当合并时,消息是相似的,但具有非常不同的含义

放弃合并目标(其他)版本的所有更改

第一种方法意味着要撤消未提交的更改,第二种方法意味着要合并分支而不带来任何更改


另一方面,我不明白为什么会有这样的功能。为什么要合并分支而不迁移更改?关闭分支似乎更容易。

只有当您有未解决的合并冲突时,.orig文件才起作用,当它发现冲突并试图解决冲突时,它们似乎会自动生成。不幸的是,当所有问题都得到解决时,它们似乎不会自动得到清理。只需将它们添加到您的忽略列表中。问题是其中一些正是我想要迁移的更改。为什么我的新文件会被标记为删除?有可能是因为某种原因,任何正在进行自动合并的工具都默认放弃传入的更改。你知道它在用什么工具吗?您可以尝试从命令行而不是工作台运行合并,甚至可以显式指定该工具,以便在运行之前验证任何设置。@Nanhydrin,谢谢。我选中了“放弃更改”框,认为它会放弃主分支上未提交的更改,但它会放弃FEATURE1分支上的更改。答案和复选标记是你的。谢谢你,但你更适合回答它,并准确地概述你为我们后面的任何人所做的事情,我只是在暗中捅了捅:)只有当你有未解决的合并冲突时,.orig文件才起作用,当它发现冲突并试图解决冲突时,它们似乎会自动生成。不幸的是,当所有问题都得到解决时,它们似乎不会自动得到清理。只需将它们添加到您的忽略列表中。问题是其中一些正是我想要迁移的更改。为什么我的新文件会被标记为删除?有可能是因为某种原因,任何正在进行自动合并的工具都默认放弃传入的更改。你知道它在用什么工具吗?您可以尝试从命令行而不是工作台运行合并,甚至可以显式指定该工具,以便在运行之前验证任何设置。@Nanhydrin,谢谢。我选中了“放弃更改”框,认为它会放弃主分支上未提交的更改,但它会放弃FEATURE1分支上的更改。答案和复选标记是你的。谢谢你,但你更适合回答它,并准确地概述你为我们后面的任何人做了什么,我只是在暗中捅了捅:)