将 mercurial 与 hg-git 一起用作 github 客户端
Using mercurial with hg-git as a github client
我是 mercurial 的满意用户,我想用它来处理 github 上的一些回购协议。我已经在 SO 上安装了 hg-git
(still having connectivity problems but that's not the question) and looked at the documentation and various questions,但我仍然不确定它提供的解决方案有多完整。
git/github 的重要功能是否有 hg
+hg-git
支持不可用、有限或容易出现问题的功能?我使用分支和合并、标签,偶尔使用 mercurial 的 commit --amend
命令。我真的不需要书签、子存储库、自定义挂钩或 Mercurial 补丁队列。
是否因为git
和hg
的不同分支模型存在问题或限制? (This 六年前的问题表明当时的体验还不够无缝。)
在 hg-git
网站上,我读到 "In theory, the changeset IDs should not change [in hg -> git -> hg conversion], although this may not hold true for complex histories." 我应该对此有多担心?如果我只是在 github
和单个 hg
存储库之间同步(双向),会发生这种情况吗?
我正在查看两个用例:
A) 使用 hg
作为大型项目的 github 客户端,有很多分支,通常由 git 用户开发(master
分支等)
B) 使用 github
托管我自己使用 mercurial 开发的(较小的)项目。
我不希望 100% 完全替换。我拥有并使用 git
,我只是更喜欢在日常工作中使用 hg
。如果重要的话,我的大部分工作都是在 OS X 上完成的。
hg-git
的使用有限制,例如git-lfs
。使用大文件的存储库将不起作用。有一些极端情况,例如章鱼合并(与两个以上的祖先合并)会在 Mercurial 方面造成麻烦,而且它们在 Mercurial 中没有等效项。然而,在日常工作中很少会遇到这些限制。在大多数情况下,hg-git 将完全正常工作。
- Mercurial 分支无法正确反映到 Git 中,因为 git 没有相同的概念。我认为 hg-git 正在将分支映射到书签,因此您应该继续使用书签。如果你想将一个命名分支推送到某个 git 存储库,然后在 git 侧它被重命名你不能在 Mercurial 中重命名命名分支,所以避免命名分支。
- 你的情况很可能会好起来的。 hg->git->hg 错误的发生是由于,例如名称分支转换,缺少章鱼合并等
我是 mercurial 的满意用户,我想用它来处理 github 上的一些回购协议。我已经在 SO 上安装了 hg-git
(still having connectivity problems but that's not the question) and looked at the documentation and various questions,但我仍然不确定它提供的解决方案有多完整。
git/github 的重要功能是否有
hg
+hg-git
支持不可用、有限或容易出现问题的功能?我使用分支和合并、标签,偶尔使用 mercurial 的commit --amend
命令。我真的不需要书签、子存储库、自定义挂钩或 Mercurial 补丁队列。是否因为
git
和hg
的不同分支模型存在问题或限制? (This 六年前的问题表明当时的体验还不够无缝。)在
hg-git
网站上,我读到 "In theory, the changeset IDs should not change [in hg -> git -> hg conversion], although this may not hold true for complex histories." 我应该对此有多担心?如果我只是在github
和单个hg
存储库之间同步(双向),会发生这种情况吗?
我正在查看两个用例:
A) 使用 hg
作为大型项目的 github 客户端,有很多分支,通常由 git 用户开发(master
分支等)
B) 使用 github
托管我自己使用 mercurial 开发的(较小的)项目。
我不希望 100% 完全替换。我拥有并使用 git
,我只是更喜欢在日常工作中使用 hg
。如果重要的话,我的大部分工作都是在 OS X 上完成的。
hg-git
的使用有限制,例如git-lfs
。使用大文件的存储库将不起作用。有一些极端情况,例如章鱼合并(与两个以上的祖先合并)会在 Mercurial 方面造成麻烦,而且它们在 Mercurial 中没有等效项。然而,在日常工作中很少会遇到这些限制。在大多数情况下,hg-git 将完全正常工作。- Mercurial 分支无法正确反映到 Git 中,因为 git 没有相同的概念。我认为 hg-git 正在将分支映射到书签,因此您应该继续使用书签。如果你想将一个命名分支推送到某个 git 存储库,然后在 git 侧它被重命名你不能在 Mercurial 中重命名命名分支,所以避免命名分支。
- 你的情况很可能会好起来的。 hg->git->hg 错误的发生是由于,例如名称分支转换,缺少章鱼合并等