Имеет ли значение направление слияния в Mercurial?

Возьмем простой пример: я работаю над веткой по умолчанию, зафиксировал некоторые изменения локально, и я вытащил еще несколько из главного репозитория. Я уже несколько дней работаю в моем изолированном локальном репозитории, поэтому нужно слить несколько изменений, прежде чем я смогу отправить свои результаты обратно в мастер.

default ---o-o-o-o-o-o-o-o-o-o-o  (pulled stuff)
            \
             o----o------------o  (my stuff)

Теперь я могу сделать две вещи.

Вариант № 1:

hg pull
hg merge

Результат №1:

default ---o-o-o-o-o-o-o-o-o-o-o
            \                   \
             o----o------------o-O

Вариант №2:

hg pull
hg update
hg merge

Результат №2:

default ---o-o-o-o-o-o-o-o-o-o-o-O
            \                   /
             o----o------------o

Эти два результата мне кажутся изоморфными, но на практике кажется, что вариант № 2 приводит к гораздо меньшим изменениям (потому что он применяет только мои несколько изменений к основной ветке вместо применения всех основных изменений к моим немногим).

Мой вопрос: имеет ли это значение? Следует ли мне заботиться о направлении моих слияний? Экономлю ли я место, если это сделаю? (Выполнение hg log --patch --rev tip после слияния предполагает это.)

16
задан Lóránt Pintér 9 February 2011 в 15:30
поделиться