git vs hg

Dec 24, 2012 04:48

Оцениваю я что там, что там с точки зрения малого количества активных разработчиков. Что будет при 5 и более1 программистов я на практике не знаю2, а потому и не пишу про бранчи и теги.

На работе уже чуть более полутора лет пользуюсь меркуриалом (до этого использовал SVN, backups\2010\11 и Project1 - Copy (20)). У нас с ним симбиоз, особенно после того как я узнал, что пацаны используют не histedit, а mq (не хватает нескольких очередей, правда). Но как бы гит приличному человеку знать надо, поэтому я и друг мой грузовик решили использовать его для совместных штук.

гуй:
GitExtensions > TortoiseHg

плюсы гита: построчный стейджинг, мейнстримность гита и гитхаба
плюсы меркуриала: mq, казуальность

Нет, наверняка в гите можно сделать что-то в духе mq, но это будет либо какой-то шелловый ад, либо какая-то странная кнопка в git extensions.

В целом могу сказать, что мне более по нраву меркуриал. Но построчный стейджинг - это охуенно.

1. Совершенно нереальные масштабы, это, наверное, только в какой-нибудь мегакорпорации возможно или опенсорсе.
2. Знаю, в одной конторе - CVS, в другой - Perforce.

upd: в меркуриале можно кусок диффа целиком (чанк) заныкать в закрома родины (типа стеша), это как некий аналог построчного стейджнга
upd 2:
1. В mq можно сделать несколько очередей, осталось узнать, как там с гуи.

2. В меркуриале есть построчный коммит, подробнее:

2.1. shelve есть в принципе для разбивки одного файла, но там
2.1.1. Нельзя оперировать построчно, можно только целыми чанками в пределах одного файла.
2.1.2. Я не нашёл там интеграции с mq.
2.1.3. Предназначен для прятания изменений, чтобы не побить их во время всях операций, а не описанного мной выше (аналог в гите - stash).

2.2. Ещё есть record. Это уже похоже на правду, есть интеграция с mq (qrecord). Но нет гуя.

2.3. И есть crecord. А это уже очень похоже на правду. Использует curses вместо командой строки, и даёт возможность бить по строкам. Если это можно нормально использовать, то я успокоюсь. Завтра попробую, наверное.

Но то, что все эти вещи надо как-то через жопу искать - это довольно странно. А ещё более странно и постыдно то, что узнал я это (п.1 и 2) из A Git User’s Guide to Mercurial Queues.

stop, master, mercurial, tip, default, hammertime!, vcs, head, hg, develop, git

Previous post Next post
Up