Коя разпределена система за контрол на ревизиите да избере Git, Bazaar или Mercurial

През последните две седмици правех бавно сравнение на три разпределени системи за контрол на ревизиите: Git, Bazaar и Mercurial.

Прочетох много рецензии и сравнения, но е ясно, че трябва да опитате всичко сами за задачите си.

В исторически план Git е най-познатата система за мен, тъй като я използвам най-дълго. Следователно постът ще бъде до голяма степен Git-ориентиран.

Запознах се с Bazaar благодарение на отличния блог "Market Day".

Меркуриал трябваше да опита, тъй като е православен (и заслужено).

Никога не претендирам за дълбочината на анализа или опит за развихряне на холивар, но просто ще изразя натрупаното. Ако съм пропуснал възможност, моля поправете ме.

Относно камбанарията, от която гледам обекта. Търся система не за дома (моите собствени проекти се намират на различни системи и всичко е наред), а да поддържа системата на няколко типа UNIX плюс Windows. Приблизителният брой файлове в клона на проекта е около шест хиляди. Сила на звука

250 мегаграма (уви, има редица двоични файлове). Размерът на хранилището не се тревожи особено, когато става въпрос за разумни цифри.

Git

Това е скалпел. Времето за обучение и потапяне в системата е малко по-дълго от това на състезателите, но след като свикнете, разбирате кой инструмент имате в ръцете си. Потребител начинаещ с Git в ръце изглежда като дете, което реже наденица с хирургически скалпел.

Това, което наистина харесвам в Git, е наличието на система за подреждане (междинна връзка между работните файлове и хранилището). Много е удобно, когато можете да подготвите не целия файл за фиксиране, а само част от него.

Много удобна система за скриване за съхраняване на временно време на работа и превключване между тях, без да се създава клон, когато трябва да разсеете за минута експеримент.

Невъобразимо мощната команда за пребазиране е много завладяваща, която може да направи всичко с историята на проекта (включително да го развали). Тоест, Git не превръща свещеността в историята в религия. Даден е механизмът за неговото модифициране, но отговорността за резултата се прехвърля върху потребителя. Никой няма да ви забрани с обикновен ключ - променете да коригирате синтаксисната грешка в текста на последния фиксиращ файл (и всеки друг коммит) или да изтриете който и да е ангажимент от историята, но дали имате нужда от него или не, е въпрос на личен подход да работиш. От моя личен опит като човек, участващ в издаването на издания, ще кажа, че понякога наистина трябва да можете да промените историята, уви. В Perforce трябва да направя много ръчна работа поради това.