统一DVCS命令

Mar*_*ski 3 git mercurial dvcs

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

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

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

Joh*_*lph 10

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

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

如果您当前的目录不是在两个系统中管理的存储库,那么键入hg addvs. git add不会变得非常危险,因此您将收到有意义的错误消息.