我的情况如下。
我克隆的项目最初是使用Mercurial进行版本化的,我有一个原始回购的克隆及其历史。 在某个时间点,项目的所有者决定搬到GitHub但是已经失去了移动中的所有历史,所以这个新的回购,虽然它是旧项目的延续,但实际上是从修订版0重新开始。
我想坚持使用Hg,Hg-Git显然会允许我从Git回购中获取,但我不知道该怎么办就是将Hg回购的头部与尾部粘在一起Git repo所以我可以继续像以前那样继续定期更新。 Git中与Hg repo的头部匹配的实际提交不是第一次提交,因此它不是尾部的尖端。
我认为hg convert和--splicemap可能有用,但我读的越多,它对我来说就越不合适。
任何人都可以就如何实现这一目标提出任何建议吗?
更新
只是为了那些可能尝试做类似事情的人的信息,我终于设法达到我想要的结果,但这是一条漫长而曲折的道路,事实证明,hg convert和splicemap毕竟是答案。
这是令人不快的,它啰嗦,设置起来有点噩梦,但它现在干净利落,我的最终回购是可预测的合理尺寸。
答案 0 :(得分:3)
从未尝试过这个,但是也许可以在bridge-repo的/.hg中操作git-mapfile。我会这样试试:
可能完全是胡说八道,但至少hg-git的旧版本(“dumber”)只是通过这个地图文件确定了必要的git对象。所以值得一试......