“破坏Mercurial文件”;链接;?
我们似乎把我们的一些HG配置搞砸了 合并时,我们会看到以下几个条目:“破坏Mercurial文件”;链接;?,mercurial,Mercurial,我们似乎把我们的一些HG配置搞砸了 合并时,我们会看到以下几个条目: warning: detected divergent renames of core/src/main/java/x/y/z/MyFile.java to: core/src/main/java/x/y/z/NewFileA.java core/src/main/java/x/y/z/NewFileB.java MyFile不应链接到“新文件”。你怎么能断开这个链接 事后不能断开链接。链接是在您(很可能)创建时创建的
warning: detected divergent renames of core/src/main/java/x/y/z/MyFile.java to:
core/src/main/java/x/y/z/NewFileA.java
core/src/main/java/x/y/z/NewFileB.java
MyFile不应链接到“新文件”。你怎么能断开这个链接 事后不能断开链接。链接是在您(很可能)创建时创建的 在一个分支中,有人这样做了
$ hg rename MyFile.java NewFileB.java
另一方面。合并这两个分支时,您将得到NewFileA.java
和NewFileB.java
。有些人可能认为这是冲突,因此是警告。
也有可能是你干的
$ hg copy MyFile.java NewFileA.java
$ hg copy MyFile.java NewFileB.java
而且是故意这样做的。在这种情况下,没有冲突,不需要警告。Mercurial内部无法区分这两种情况,因为hg rename X Y
与hg copy X Y相同;hg删除X
。有关hg copy
真正做什么的信息,请参阅
所以,别担心,没有什么事情是一团糟的。合并后,您将不会再次看到警告-仅当您与仍然存在
MyFile.java
的分支合并时,警告才会出现。您不能在合并后断开链接。链接是在您(很可能)创建时创建的
在一个分支中,有人这样做了
$ hg rename MyFile.java NewFileB.java
另一方面。合并这两个分支时,您将得到NewFileA.java
和NewFileB.java
。有些人可能认为这是冲突,因此是警告。
也有可能是你干的
$ hg copy MyFile.java NewFileA.java
$ hg copy MyFile.java NewFileB.java
而且是故意这样做的。在这种情况下,没有冲突,不需要警告。Mercurial内部无法区分这两种情况,因为hg rename X Y
与hg copy X Y相同;hg删除X
。有关hg copy
真正做什么的信息,请参阅
所以,别担心,没有什么事情是一团糟的。合并后,您将不会再次看到警告-仅当您与
MyFile.java
仍然存在的分支合并时,警告才会出现。除非有我不知道的负面影响,否则您可以通过删除或忘记无意复制的目标文件来断开链接,并提交该文件,然后重新添加文件(具有相同的内容)。对原始副本源所做的更改不会合并到重新添加的文件中
在Mercurial 3.7.2中,我能够复制后续合并(不仅仅是第一次合并),将更改应用于复制目标,这与文档相反,尽管我没有进一步深入研究。这里我指的是提交副本的分支的合并,而不是相反的方向。除非有我不知道的负面影响,否则您可以通过删除或忘记无意中复制的目标文件,提交该文件,然后重新添加该文件(具有相同的内容)来断开链接。对原始副本源所做的更改不会合并到重新添加的文件中
在Mercurial 3.7.2中,我能够复制后续合并(不仅仅是第一次合并),将更改应用于复制目标,这与文档相反,尽管我没有进一步深入研究。这里我指的是提交副本的分支的合并,而不是相反的方向。是的,我认为我们确实无意中进行了hg复制-我认为IntelliJ(启用了hg集成)是在我“复制”文件时这样做的。如果我们更改MyFile,然后进行合并,HG现在会尝试将更改合并到“新文件”吗?我本以为有办法打破这种联系。。哦,好吧。只有在第一次合并中,您仍然拥有
MyFile
的分支和您拥有副本的分支,Mercurial才会尝试将MyFile
更改复制到两个副本中。在那之后,你不会看到任何特别的东西“神奇链接”被破坏了。是的,我想我们是无意中做了hg复制的——我想IntelliJ(启用了hg集成)是在我“复制”一个文件时做的。如果我们更改MyFile,然后进行合并,HG现在会尝试将更改合并到“新文件”吗?我本以为有办法打破这种联系。。哦,好吧。只有在第一次合并中,您仍然拥有MyFile
的分支和您拥有副本的分支,Mercurial才会尝试将MyFile
更改复制到两个副本中。在那之后,你将看不到任何特别的东西“神奇的链接”被打破了。