Меркуриал
В сабжевой 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
no subject
no subject
no subject
no subject
Варианты:
hg fetch - разом сделает pull-merge-push (если не возникнет конфликтов)
hg pull --rebase - сделает pull и воткнёт твои изменения после него (получится примерно как при работе с SVN - линейная история)
no subject
no subject
no subject
no subject
no subject
no subject
no subject
И, да, это как раз сильно упрощает merge, хотя и делает его обязательным.
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
Но навскидку - должно или создать файл для разрешения конфликтов, или запустить утилиту для их разрешения, прописанную в конфиге (kdiff3, к примеру).
no subject
no subject
Для винды - в Mercurial.rc, секция extensions, раскомментить/вписать строки
fetch =
graphlog =
mq =
rebase =
ну и прочие по вкусу
no subject
Работа svn (через апач или svnserve) или тем более mercurial - естественна. Работа SS - чудо. Да, он древнее, чем говно мамонта, и так же устарел - но сделан на совесть.
no subject
no subject
Но subversion тоже не торт.
no subject
no subject
Этим пиздецом пользоваться просто невозможно.
no subject
no subject
no subject
(disclaimer: дальше про git, возможно в hg что-то не так)
Хотя, чтобы не коммитить наперегонки, можете каждый пушить в свою ветку, а мержить чужие по утрам или по явной нужде.
Следующий шаг - вообще выкинуть центральный репозиторий и расшарить свои рабочие.
Где-то было эпическое видео Линуса, где в свойственной ему манере (What do you use here? Perforce? I'm ... I'm sorry) он подробно рассказывает, как они работают с git.
no subject
no subject
no subject