首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用--filemap的汞转换任何虚拟重命名都失败。

使用--filemap的汞转换任何虚拟重命名都失败。
EN

Stack Overflow用户
提问于 2019-08-09 12:24:26
回答 2查看 150关注 0票数 2

我正在尝试使用hg convert --filemap清理一个存储库。在文件地图中,除了rename之外,任何选项都能很好地转换。如果我向filemap添加了任何rename选项,那么它在第一次与abort: unable to convert merge commit since target parents do not merge cleanly合并时就会失败。

我试着只添加一个虚拟的rename foo bar选项(回购中没有一个foo或bar路径),结果也是一样的。

我尝试了一个真正的重命名(现有的第一条路径),同样发生。只要重命名的速度在那里,它就会中断。

这是个虫子吗?我做错了什么?

更新:复制:

创建文件a,在其中写一些东西,提交。更新到父级,在a中编写其他内容,提交。与其他头部合并,手工修复冲突。

Filemap由一行和一行组成:rename foo bar。运行hg convert。如果提交不能自动合并,它将失败。

EN

回答 2

Stack Overflow用户

发布于 2019-08-17 14:05:35

根据扩展wiki规则定义的文件地图无法重现错误:

原始回购

代码语言:javascript
复制
Repo>hg log --style changelog
2019-08-17  Me

        * file1.dat, file1.txt:
        Merge all from Data1
        [21caf63b7011] [tip] <Data2>

        * file1.dat:
        Compability fix
        [77667c9ad22c] <Data2>

        * file1.dat, file1.txt:
        Mod for Data2
        [7253bf25d7e7] <Data2>

        * file1.dat, file1.txt:
        Mod for Data1
        [de1f80454b7b] <Data1>

        * file1.dat, file1.txt:
        Mod1
        [7f1dd9e27ceb]

        * file1.dat, file1.txt:
        Initial tree
        [d10d46c86e0f]

改装回购

代码语言:javascript
复制
Conv>hg log --style changelog
2019-08-17  Me

        * core.code, data.dat:
        Merge all from Data1
        [350d1675a713] [tip] <Data2>

        * data.dat:
        Compability fix
        [7b13e52e0887] <Data2>

        * core.code, data.dat:
        Mod for Data2
        [05f2eae8379c] <Data2>

        * core.code, data.dat:
        Mod for Data1
        [6776b7ac4388] <Data1>

        * core.code, data.dat:
        Mod1
        [c733197f909c]

        * core.code, data.dat:
        Initial tree
        [19230ad05c7a]

菲尔马普

代码语言:javascript
复制
rename "file1.txt" "core.code"
rename "file1.dat" "data.dat"
票数 0
EN

Stack Overflow用户

发布于 2021-05-14 15:16:17

我也犯了同样的错误,为此我将转换分成多个步骤。

问题似乎是当您在文件地图中的重命名和包含的历史记录中的合并时,在运行一次convert。所以我做了这个:

  1. 步骤1:使用没有重命名的文件地图运行hg convert。基本上,只是将原始存储库中的东西包含/排除到临时中间回购中。
  2. 步骤2:再次使用只重命名的文件地图运行hg convert。这将从中间存储库到最终存储库。即使合并还在历史上,也没有问题。
  3. 删除中间存储库

这解决了“中止”的问题。另外,另一个好处是,由于步骤1是最长的(在大约20000个变更集中只选择了几个更改集),所以对重命名进行迭代变得容易得多。我发现文件映射有点困难,因为事情会默默地失败。

我正在使用"Mercurial Distributed SCM (版本5.7)“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57430015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档