![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
В сабжевой DVCS все хорошо, но есть один слабо понятный мне момент. А именно, merge. Если ребе
belnetmon сделает push в центральный репозиторий и я после этого хочу сделать тоже push, то даже если у нас никак не пересекающиеся изменения - оно этого сделать не даст, нужно сначала сделать hg pull, потом hg merge, потом hg commit и только после этого получится сделать hg push.
Может, я чего не так делаю?
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Может, я чего не так делаю?
no subject
Date: 2010-08-06 01:13 pm (UTC)no subject
Date: 2010-08-06 02:14 pm (UTC)no subject
Date: 2010-08-06 05:18 pm (UTC)no subject
Date: 2010-08-06 05:50 pm (UTC)Работа svn (через апач или svnserve) или тем более mercurial - естественна. Работа SS - чудо. Да, он древнее, чем говно мамонта, и так же устарел - но сделан на совесть.
no subject
Date: 2010-08-06 01:22 pm (UTC)no subject
Date: 2010-08-06 01:23 pm (UTC)no subject
Date: 2010-08-06 01:27 pm (UTC)no subject
Date: 2010-08-06 06:12 pm (UTC)no subject
Date: 2010-08-06 07:21 pm (UTC)no subject
Date: 2010-08-06 01:27 pm (UTC)Варианты:
hg fetch - разом сделает pull-merge-push (если не возникнет конфликтов)
hg pull --rebase - сделает pull и воткнёт твои изменения после него (получится примерно как при работе с SVN - линейная история)
no subject
Date: 2010-08-06 01:28 pm (UTC)no subject
Date: 2010-08-06 01:37 pm (UTC)no subject
Date: 2010-08-06 05:27 pm (UTC)Для винды - в Mercurial.rc, секция extensions, раскомментить/вписать строки
fetch =
graphlog =
mq =
rebase =
ну и прочие по вкусу
no subject
Date: 2010-08-06 02:38 pm (UTC)no subject
Date: 2010-08-06 03:19 pm (UTC)no subject
Date: 2010-08-06 05:17 pm (UTC)Но навскидку - должно или создать файл для разрешения конфликтов, или запустить утилиту для их разрешения, прописанную в конфиге (kdiff3, к примеру).
no subject
Date: 2010-08-06 01:23 pm (UTC)no subject
Date: 2010-08-06 01:34 pm (UTC)no subject
Date: 2010-08-06 01:38 pm (UTC)no subject
Date: 2010-08-06 01:43 pm (UTC)И, да, это как раз сильно упрощает merge, хотя и делает его обязательным.
no subject
Date: 2010-08-06 02:51 pm (UTC)no subject
Date: 2010-08-06 01:31 pm (UTC)no subject
Date: 2010-08-06 03:10 pm (UTC)no subject
Date: 2010-08-06 06:13 pm (UTC)no subject
Date: 2010-08-06 06:34 pm (UTC)Этим пиздецом пользоваться просто невозможно.
no subject
Date: 2010-08-06 09:12 pm (UTC)no subject
Date: 2010-08-07 04:55 am (UTC)no subject
Date: 2010-08-06 03:36 pm (UTC)no subject
Date: 2010-08-06 06:13 pm (UTC)Но subversion тоже не торт.
no subject
Date: 2010-08-06 10:08 pm (UTC)no subject
Date: 2010-08-06 03:43 pm (UTC)no subject
Date: 2010-08-06 03:50 pm (UTC)no subject
Date: 2010-08-06 10:04 pm (UTC)(disclaimer: дальше про git, возможно в hg что-то не так)
Хотя, чтобы не коммитить наперегонки, можете каждый пушить в свою ветку, а мержить чужие по утрам или по явной нужде.
Следующий шаг - вообще выкинуть центральный репозиторий и расшарить свои рабочие.
Где-то было эпическое видео Линуса, где в свойственной ему манере (What do you use here? Perforce? I'm ... I'm sorry) он подробно рассказывает, как они работают с git.
no subject
Date: 2010-08-07 04:52 am (UTC)