Унификация команд DVCS - PullRequest
       3

Унификация команд DVCS

3 голосов
/ 06 сентября 2010

При работе над несколькими (с открытым исходным кодом) проектами, несколько систем контроля версий начинают создавать проблемы.Несмотря на то, что они используют общие операции, я часто допускаю ошибки, набирая hg add вместо git add .

Я помню, как видел проект, который давал доступ к другому источникупрограммное обеспечение единообразно, предоставляя основные команды commit / ci add и т. д. в оболочке.В зависимости от хранилища он в свою очередь вызовет hg add или git add и т. Д.

Я видел Amp: http://amp.carboni.ca/ (что, кажется,вниз банкомат) какие-нибудь другие сценарии, как это?

Ответы [ 4 ]

10 голосов
/ 06 сентября 2010

Я думаю, что объединение двух (в данном случае полностью разных) систем контроля версий не является разумной попыткой. Хотя есть некоторые общие черты, различия намного перевешивают общие черты. В частности, хотя вы можете отобразить определенные команды из одной системы в аналогичную команду в другой системе, все же будут семантические различия, поскольку Mercurial и Git имеют совершенно разные внутренние модели. Просто рассмотрите, как представлено ветвление или область подготовки git.

Вместо того, чтобы пытаться объединить обе системы на уровне «пользователя», я думаю, что гораздо более желательно придерживаться одной системы контроля версий и, если требуется, перенести ваши изменения / историю в другую систему с помощью моста (аналогично ГИТ-SVN).

Ввод hg add против git add не может стать чем-то действительно опасным, если ваш текущий каталог не является репозиторием, управляемым в обеих системах, поэтому вы получите осмысленное сообщение об ошибке.

0 голосов
/ 06 сентября 2010

Есть также Push Me Pull You и Qct проекты, оба являются графическими интерфейсами multi-DVCS.

Хотя я не проверял их статус.

0 голосов
/ 06 сентября 2010

Я думаю, что это было одной из целей anyvcs , но я не знаю, как далеко это продвинуто.

0 голосов
/ 06 сентября 2010

Не то чтобы я знал.
Два репозитория для amp ( на GitHub и на bitbucket ) сейчас точно не лопнут.
И комментариев о проекте не все вызывали энтузиазм.

Так что сейчас наиболее подходящими являются общие псевдонимы / команды (способные распознавать их контекст - hg или git repo - и генерировать правильную команду).

...