Почему Mercurial нравится мне больше, чем Git

j h woodyatt, “Why I Like Mercurial More Than Git”, public translation into Russian from English More about this translation.

See also 25 similar translations

Translate into another language.

Participants

Kopilov868 points
develop7181 points
Join Translated.by to translate! If you already have a Translated.by account, please sign in.
If you do not want to register an account, you can sign in with OpenID.
Pages: ← previous Ctrl next
1 2 3 4

Why I Like Mercurial More Than Git

Почему Mercurial нравится мне больше, чем Git

History of edits (Latest: develop7 9 months, 2 weeks ago) §

After working for over a year alternating between two projects, one that uses [Git](http://git-scm.com/) for its version control and another that uses [Mercurial](http://mercurial.selenic.com/), I have finally achieved sufficient mastery of both toolchains that I now feel comfortable defending my judgment that Mercurial is the superior of the two systems. I think Git has one glaring deficiency that makes it the inferior tool, and I hope to describe the required remedy in this weblog posting.

После года с лишним параллельной работы над двумя проектами, один из которых для контроля версий использует [Git](http://git-scm.com/), а другой — [Mercurial](http://mercurial.selenic.com/), я наконец овладел обоими в мере, достаточной для того, чтобы аргументированно заявить, что Mercurial лучше. По-моему, у Git есть один бросающийся в глаза недостаток, делающий его хуже — и я надеюсь показать в этом посте, какой именно и как от него избавиться.

History of edits (Latest: develop7 9 months, 2 weeks ago) §

The tools are very similar, and many of the distinguishing differences come down to a matter of taste in my opinion. Some may consider it a deal-breaker that Mercurial expects its extensions to be written in Python, whereas Git admits extensions written in just about any language you care to imagine, but the usual approach is to write them in a shell language. That's not a deal-breaker for me. Many other differences are either consequences of that fundamental distinction, or they are cosmetic in nature. It also bothers me not at all neither that Mercurial has no index, nor that Git has the index. The difference between the Git stash and Mercurial patch queues is similarly trivial to me.

Эти инструменты очень похожи, и многие характерные различия сводятся, на мой взгляд, к вкусовщине. Некоторые считают решающим фактором то, что расширения для Mercurial необходимо писать на Python, притом, что для Git можно писать на чём угодно, хотя обычно их пишут на языке командной оболочки. Для меня это не является решающим фактором. Прочие отличия являются следствием этого или же чисто косметичны. Меня так же не волнует то, что у Mercurial нет индекса, а у Git он есть. Отличия между Git stash и очередью патчей Mercurial я так же считаю тривиальными.

History of edits (Latest: develop7 9 months, 2 weeks ago) §

The big difference, the deal-maker for me, is in how each tool goes about meeting the fundamental requirement for any version control system: how it handles source code merging. Quite simply, Mercurial is better at merging than Git.

Реальной разницей, решающим фактором для меня является то, как каждый из инструментов решает главную задачу любой системы контроля версий: слияние исходников. Вкратце: Mercurial сливает лучше.

History of edits (Latest: develop7 9 months, 2 weeks ago) §

I need to introduce a bit of terminology here to make my point. Because the literature for Git and Mercurial use the word _branch_ to mean crucially different things, I'm going to avoid the word here entirely so as to prevent confusion. For the concept described in the Git literature with the word _branch_ and in the Mercurial literature with the word _head_, I shall use the word _lineage_. I shall use the word family when referring to the concept the Mercurial literature uses _branch_ to describe, which is a name that distinguishes _a related set of lineages_.

Чтобы представить мою точку зрения, я вынужден определить несколько терминов. Дело в том, что в литературе по Git и Mercurial слово _branch_ используется для совершенно разных вещей, поэтому я постараюсь избегать его использования совсем для предотвращения запутывания. Для концепта, представленного в Git словом _branch_, а в Mercurial — словом _head_, я буду использовать слово _родословная_. Я буду использовать слово _семья_, упоминая то, что в Mercurial называется _ветка_ и является _связанным набором родословных_.

History of edits (Latest: develop7 9 months, 2 weeks ago) §
Pages: ← previous Ctrl next
1 2 3 4