понедельник, 6 сентября 2010 г.

Ветвления в бранче

Все-таки это зло.

Mercurial позволяет двум разработчикам независимо сделать push, что приведет к тому что в бранче на сервере получится ветвление. Но что делать третьему разработчику, который это вытягивает? Заниматься слиянием? Да он вообще не в курсе что там куда.

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

Должна быть в системе контроля версий какая-то однозначность. Мне кажется логичным, что тот, кто первый закоммитил - тот и продолжил бранч. А отставшие должны приложить усилия (сделать rebase) чтобы вернуться в бранч.

Про git - я тащусь... цитирую: "Чтобы на самом деле разобраться в способе ветвления в Git, мы должны сделать шаг назад и рассмотреть, как Git хранит свои данные". А как же абстракция, сокрытие реализации и тд?

Долго курил маны, так и не понял. Если в ветку удаленного репозитория git кто-то пропихнул свои изменения, git откажет мне в push?

В принципе в git все сделано грамотно, только слишком уж низкоуровнево.