четверг, 31 января 2019 г.

[work.pain] О наболевшем: github or not github?

Простите, я опять на тему SObjectizer-а, хотя постараюсь в этом году в блоге про него писать пореже.

Пора уже вплотную заняться работой над версией 5.6, но я все еще не определился с тем, где держать основной репозиторий с его исходными текстами. Понятно, что это будет не SourceForge. Но вот github, bitlab, bitbucket или что-то еще?

Рассудок подсказывает, что раз де-факто стандартом является github, то нужно делать на github.

Но у этого выбора есть два фатальных недостатка: git и github :)

Так уж получилось, что мне не нравится ни первое, ни второе. Понятное дело, что все это субъективно, что могу пользоваться и тем, и другим (собственно, вынужденно и пользуюсь). Но мне с hg и bitbucket-ом гораздо проще и удобнее. Ну и в работе же должно быть хоть какое-то удовольствие, а какое тут удовольствие, когда в придачу к C++ еще и git с github-ом? ;)

Поэтому пока не могу сделать выбор между просто git+github-ом и hg+bitbucket+зеркало на github-е. Больше склоняюсь к hg+bitbucket+зеркало.

Но есть подозрение, что это неправильный выбор... :(

12 комментариев:

Alexander P. комментирует...

Работали с git+bitbucket. Даже при небольших репозиториях какая-то огромная задержка (latency) до серверов, и кажется неимоверно медленным на push/pull по сравнению с github и gitlab.

Ну и интерфейс тоже тормознутый и какой-то не хипстерский, так что bitbucket нет-нет-нет :D

eao197 комментирует...

@Alexander P.

Мы с BB и hg уже года три работаем. По скорости никаких нареканий нет.

> и какой-то не хипстерский

Дык это же огромное конкурентное преимущество перед GH :)

NN​ комментирует...

Во первых hg-git и TortoiseHG вполне себе рабочий вариант.
Во вторых TortoiseGit по своей работе очень похож на TortoiseSVN и никаких заумных команд учить не придётся.
Далее есть GitExtensions, где единственное отличие от TortoiseGit это наличие дополнительной кнопки 'Stage', хотя и там есть сразу коммит минуя промежуточный индекс.
Ну и наконец в любой IDE сегодня есть встроенная работа с Git, позволящая не знать вообще ни одной команды Git. С ней что Git, что SVN, Mercurial всё одинаково работает.

eao197 комментирует...

@NN
Только вот я не пользуюсь этим всем. Только командная строка.
Ну и Web-интерфейс GitHub-а или BitBucket-а.

NN​ комментирует...

Ну Web интерфейс вообще всё скрывает от тебя.
А командная строка, зачем если всё можно сделать непосредственно из IDE и инструментов с интерфейсом ?
Если очень уж нужна командная строка, то сделай себе поверх git-а удобные команды :)
https://git.wiki.kernel.org/index.php/Aliases#Introduction

eao197 комментирует...

@NN
Когда все, что нужно для полноценной работы -- это bash и vim, то становится без разницы, сидишь ли ты на полноценном декстопе или через ssh в каком-то специфическом окружении.

NN​ комментирует...

Ну тогда alias / git alias и получи те команды, которые ты хочешь :)

eao197 комментирует...

@NN
На что только люди не пойдут, лишь бы hg не использовать. :)

NN​ комментирует...

Хорошо, что хоть один победитель определился.
В других областях так и бодаются до сих пор, там KDE-Gnome, deb-rpm и т.д.
Я лично не в восторге от гит тоже , ртутный гораздо удобней но и там в следующей версии переписывать на С собираются и сломают всю систему расширений.
В итоге получим тот же гит с другими названиями команд.
Так чем hg-git не подошёл?

eao197 комментирует...

@NN
А hg-git первый кандидат на использования. Посредством этого у нас RESTinio зеркалируется с BB на GH.

Volodymyr Sapsai комментирует...

Поделюсь своим опытом, может будет полезен. На GitHub действительно много народу. Когда мигрировали https://github.com/include-what-you-use/include-what-you-use с Google Code на GitHub, появилось существенно больше и комментариев и pull request'ов. Но если есть существующие процессы, например почтовая рассылка, то новые пользователи их применять не собираются.

hg-git не самый надежный продукт. Синхронизация одного из моих Mercurial репозитория отвалилась где-то года 3 назад. Точных причин не знаю, детально не разбирался. Но если интересно, смогу поделиться какими-то догадками.

В целом, я бы выбрал git + GitHub, хотя лично предпочитаю Mercurial.

eao197 комментирует...

@Volodymyr Sapsai
Спасибо за информацию.