在处理多个(开源)项目时,多个版本控制系统开始出现问题。虽然它们共享共同的操作,但我经常通过键入hg而不是git来犯错误。
我记得很久以前,我看过一个项目,它通过在shell中提供基本命令、提交/ci、添加等等,以统一的方式访问不同的源代码控制软件。根据存储库的不同,它将依次调用hg或git等。
我见过安培:http://amp.carboni.ca/ (似乎在自动取款机下),还有其他类似的脚本吗?
发布于 2010-09-05 22:23:43
我认为两种版本控制系统的统一(在这种情况下完全不同)是不明智的尝试。虽然有某些共性,但的差异远远超过了共性。更具体地说,虽然您可以将某些命令从一个系统映射到另一个系统中的类似命令,但仍然会存在语义差异,因为Mercurial和Git有完全不同的内部模型。只需要考虑分支是如何表示的,或者git的分阶段区域。
与其试图在“用户”级别上统一这两个系统,我认为更可取的做法是坚持一个版本控制系统,如果需要的话,使用一个桥(类似于git-svn)将您的更改/历史移植到另一个系统。
如果您的当前目录不是两个系统中管理的存储库,那么输入hg add和git add并不会变得非常危险,因此您将得到一条有意义的错误消息。
发布于 2010-09-05 22:15:51
就我所知没有。
安培(论GitHub,和比特桶论)的两个回购现在还没有完全爆满。
而且对该项目的评论也不全是热情的。
所以现在,常见的别名/命令(能够识别它们的上下文-- hg或git并生成正确的命令)是最好的选择。
发布于 2010-09-06 01:15:24
我认为这是任何一个的目标之一,但我不知道它有多远。
https://stackoverflow.com/questions/3647962
复制相似问题