问题标签 [mercurial-convert]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - pulling git repo with mercurial fails with error "path contains illegal component .hg/00changelog.i"
I have a project versioned with git and our client wants to access it with Mercurial, so our idea was to convert the project using the plugin “hg-git”.
The error is thrown when cloning the "converted" repository with a hg command following these steps:
- create a git repository on Bitbucket
- clone locally using git commands, added an android project, commit, pushed. Works fine.
- Run hg-git "convert" command on the local folder.
- I add, commit, push to Bitbucket.
The project structure was automatically changed by the plugin and a new folder containing the .hg files was generated inside the my folder and looks like that:
When I try to import using Mercurial commands the "converted" git project from Bitbucket it is aborted:
To try to solve the "nest" problem I read on some SO post that the .hg folder has to be on the same level as the .git folder. The structure changed to:
I commit the changes, push to Git repo, then tried again to hg pull:
I have been looking for almost 2 days to solve this second error, reinstalled from brew everything, it failed, then macport again, checked python and mercurial, tried to create a new bitbucket repo and start from scratch, looked on GG and SO other related posts, modified the .hgrc file, I still get the error.
I tried another option: "Mirror git and mercurial repos the lazy way" by Greg Malcolm (same local project mirrors/sync both a git repository on one side and a mercurial on the other).
That was the only one working solution during my test. But that is not exactly what I wanted to do as you have 2 different repo to sync and I would like to have only one with the .git and .hg in it.
I hope someone can help me either to solve the error message for the solution using a single Git repo accepting both .git push and hg pull and or tell me if the "mirroring" of 2 different repo (one git, one hg) is the only working option.
Thx!
Config / installation: Mac Os Sierra Installed the rest as said in this SO answer - macports - python 2.7 - Mercurial - hggit
Content of .hgrc file :
svn - 同步 svn 和 mercurial repo
我们有一个活跃的 svn 存储库,我们正在计划迁移到 mercurial。这个想法是创建一个新的 mercurial 存储库,将 svn 存储库与历史同步,为其创建一个 teamcity 构建,然后将两个开发人员转移到 mercurial 上进行试验,并确保它的所有内容都符合要求。
这意味着我们需要 svn 和 mercurial 之间的双向同步。我已经看到这个链接Syncing SVN to Mercurial using svnsync & hg convert -- misses svn:externals? 哪种描述了一种方式,但它相当笨重且手动。
有没有更好的方法来实现这一目标?
谢谢阅读
version-control - Mercurial - 转换错误 - 无法转换合并提交
我有一个巨大的存储库,其中包含以下布局的许多子文件夹:
我正在尝试从文件夹创建另一个仓库Folder1, Folder2 and Folder3
。
为此,我创建了要在转换中使用的文件映射,如下所示:
但是当我尝试使用以下方法转换存储库时:
我收到以下错误:
过去有没有人遇到过这种问题?如何摆脱这种错误?我试图关闭与默认合并的分支,但没有帮助。
另外,我在哪里可以找到有关如何清理存储库的资源?这个 repo 使用了很多命名的分支,它们非常混乱。
mercurial - 更改修订父项以从历史记录中删除较早的修订?
如果这是原始结构,如何快速地在 mercurial 中重新生成一棵树:
A-B-C-D-E-F
我想将其更改为:
D-E-F
(甚至A-D-E-F
会这样做)
我用拼接图尝试了这个答案中的建议,但它失败并出现错误splice map revision <hash> is not being converted, ignoring'
它也打印出来abort: no node!
任何帮助将不胜感激。谢谢你。
mercurial - hg 从 git 转换 - 只生成 hg 文件夹?
我正在使用hg convert
在运行 macOS Mojave 的 Mac 上将 Git 存储库转换为 Mercurial。
我看过类似的问题如何正确使用 hg convert和hg convert 实际上没有转换?但他们还没有给出明确的答案。
我输入的命令是:
输出如下:
这一直持续到最近的提交......
我是 Mercurial 的新手。我看不到任何错误,但目标目录仅包含一个 .hg 文件夹。
的输出hg sum
是:
我是否正确使用了这个命令?我期待在新文件夹中看到我所有的 src 文件。
mercurial - Mercurial convert with --branchmap :转换包含空格的分支名称
我hg convert
用来清理一些 hg 存储库中的混乱。在此过程中,我正在使用该--branchmap
选项来重命名一些分支。
问题是,名称中带有空格的分支 ( a b
) 不会被重命名。我尝试将它们括在引号中(似乎与 一起使用--filemap
)或用反斜杠转义,但没有结果。
如何重命名名称中带有空格的分支?
mercurial - 带有 --filemap 的 Mercurial 转换因任何虚拟重命名而失败
我正在尝试使用hg convert --filemap
. 转换适用于文件映射中的任何选项,除了rename
. 如果我向文件映射添加任何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
。如果提交不能自动合并,它将失败。