统一DVCS命令

时间:2010-09-05 21:51:44

标签: git mercurial dvcs

在处理多个(开源)项目时,多个版本控制系统开始出现问题。虽然他们分享常见操作,但我经常通过输入 hg add 而不是 git add 来犯错误。

我记得前一段时间看到项目通过在shell中提供基本命令 commit / ci add 等,以统一的方式访问不同的源代码控制软件。根据存储库,它将依次调用 hg add git add 等。

我见过Amp:http://amp.carboni.ca/(似乎是在ATM上)其他任何类似的脚本?

4 个答案:

答案 0 :(得分:10)

我认为两个版本(在这种情况下完全不同)版本控制系统的统一不是一个明智的尝试。虽然存在某些共性,但差异远远大于共性。更具体地说,虽然您可以将某些命令从一个系统映射到另一个系统中的类似命令,但仍会存在语义差异,因为Mercurial和Git有完全不同的内部模型。只考虑如何表示分支或git的临时区域。

我认为不要试图在“用户”级别统一两个系统,而是坚持使用一个版本控制系统,并且如果需要,使用桥接器将您的更改/历史记录反向移植到另一个系统(类似于GIT-SVN)。

如果您当前的目录不是在两个系统中管理的存储库,那么键入hg addgit add并不会真正危险,因此您将收到有意义的错误消息。

答案 1 :(得分:0)

不是我知道的。
放大器的两个寄存器(on GitHubon bitbucket)现在并没有完全爆破。
comments about the project并不是全部都热情。

所以现在,常见的别名/命令(能够识别他们的上下文 - hg或git repo - 并生成正确的命令)是你最好的选择。

答案 2 :(得分:0)

我认为这是anyvcs的目标之一,但我不知道它有多远。

答案 3 :(得分:0)

还有Push Me Pull YouQct项目,两者都是多DVCS GUI。

但我没有检查过他们的状态。