![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Одной вещи в меркуриале я в принципе понять не могу.
Я меняю файл А, делаю commit и push, потом я меняю дома файл Б и делаю commit, а на попытку push меня посылаютфпень делать pull/merge/commit.
Вопрос - почему бы независимые изменения в разных папках не мержить автоматом, как это сделано в svn?
PS: А теперь рассмотрим, как это положено делать:
1) дерево исходников представляет собой граф, узлы которого - каталоги и блобы с файлами, а связи - связь между каталогом и расположенными в нем подкаталогами и файлами.
2) пользователь 1 меняет файл с путем A
3) пользователь 2 меняет другой файл с путем B.
4) Друг другу они в принципе никак не мешают - структура графа не меняется, меняются два независимых узла.
5) операции коммутируют - т.е. вне зависимости от порядка применения операций, результат будет одним и тем же.
6) для коммутирующих операций merge должен делаться, очевидно, автоматически.
Я меняю файл А, делаю commit и push, потом я меняю дома файл Б и делаю commit, а на попытку push меня посылают
Вопрос - почему бы независимые изменения в разных папках не мержить автоматом, как это сделано в svn?
PS: А теперь рассмотрим, как это положено делать:
1) дерево исходников представляет собой граф, узлы которого - каталоги и блобы с файлами, а связи - связь между каталогом и расположенными в нем подкаталогами и файлами.
2) пользователь 1 меняет файл с путем A
3) пользователь 2 меняет другой файл с путем B.
4) Друг другу они в принципе никак не мешают - структура графа не меняется, меняются два независимых узла.
5) операции коммутируют - т.е. вне зависимости от порядка применения операций, результат будет одним и тем же.
6) для коммутирующих операций merge должен делаться, очевидно, автоматически.
no subject
Date: 2012-11-11 10:52 am (UTC)Вместо автоматического мёржа лучше заставить коммитера глянуть на то, с чем он мёржится хочет. Две минуты, зато надёжней, не будет стопорить команду локализацией нового бага.
Да и вообще, нафига вам DVCS - одна задача - один бранч. А мёржит их пусть переходящая роль branch integrator
no subject
Date: 2012-11-11 11:05 am (UTC)Человек ленив всегда настолько насколько можно, получив это сообщение он просто сделает мерж руками.
no subject
Date: 2012-11-11 11:07 am (UTC)У меня вот народ куда ответственней, и на то есть причины - в том числе и в виде санкций
no subject
Date: 2012-11-11 11:11 am (UTC)no subject
Date: 2012-11-11 11:14 am (UTC)У меня крепнет ощущение, что я мечу бисер перед свиньями. Прежде чем кидаться со мной спроить задумайтесь, о каком процессе я говорю. Погуглите про Feature Branch, Branch Integration. Почитайте про регрессионые тесты.
А не кидайтесь сразу спорить и иронизировать.
no subject
Date: 2012-11-11 11:17 am (UTC)no subject
Date: 2012-11-11 11:20 am (UTC)Я писал не про систему контроля версий. Перечитайте тред с самого начала.
Я писал про процесс. Про деструктивные опасные действия - автоматический merge.
Про правильный default у mercurial и git - как более адекватный эффективный разработке.
no subject
Date: 2012-11-11 11:27 am (UTC)no subject
Date: 2012-11-11 11:29 am (UTC)no subject
Date: 2012-11-11 11:31 am (UTC)no subject
Date: 2012-11-11 11:32 am (UTC)Я делился опытом. Зря я бисер мечу.
no subject
Date: 2012-11-11 11:33 am (UTC)no subject
Date: 2012-11-11 11:34 am (UTC)no subject
Date: 2012-11-13 12:39 am (UTC)