我使用mercurial eclipse插件20111225_Content_Build
创建了一个命名分支,在本地提交此分支后,我推送到我的bitbucket存储库,而没有先与default
合并。现在我有默认(非活动)和我的命名分支20111225_Content_Build
(活动)。我尝试按照以下步骤合并这两个:
hg update default
这给了我一个错误:abort: untracked file in working directory differs from file in requested revision: 'target/m2e-wtp/web-resources/META-INF/maven/org.bixin.dugsi/Dugsi_Manager/pom.xml'
然后当我尝试合并时:hg merge 20111225_Content_Build
我收到一条错误,指出我无法与工作目录合并?
abort: merging with a working directory ancestor has no effect
我确实有几个生成的target/
文件尚未提交或推送,我是否需要推送这些文件才能合并这两个分支?
答案 0 :(得分:4)
更新时的消息告诉您,您的pom.xml
文件未添加到分支中,但默认情况下会添加。因此,当您hg update default
时,Mercurial需要放弃pom.xml
文件中的更改,并使用default
中签入的版本覆盖它,但Mercurial 始终除非你真的非常坚持,否则拒绝丢弃数据。
你有两个简单的选择:
如果要保留对分支中的pom.xml
所做的更改并将它们合并到存储在default
分支中的pom.xml中,那么您可以执行以下操作:
hg add target/m2e-wtp/web-resources/META-INF/maven/org.bixin.dugsi/Dugsi_Manager/pom.xml
hg commit target/m2e-wtp/web-resources/META-INF/maven/org.bixin.dugsi/Dugsi_Manager/pom.xml
如果(相反)您想要放弃对分支中的pom.xml
的更改,那么就这样做:
rm target/m2e-wtp/web-resources/META-INF/maven/org.bixin.dugsi/Dugsi_Manager/pom.xml
在其中任何一个之后你都可以做到:
hg update default
hg merge 20111225_Content_Build