metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-08-06 01:10 pm

Меркуриал

В сабжевой DVCS все хорошо, но есть один слабо понятный мне момент. А именно, merge. Если ребе [livejournal.com profile] belnetmon сделает push в центральный репозиторий и я после этого хочу сделать тоже push, то даже если у нас никак не пересекающиеся изменения - оно этого сделать не даст, нужно сначала сделать hg pull, потом hg merge, потом hg commit и только после этого получится сделать hg push.
Может, я чего не так делаю?

[identity profile] berezovsky.livejournal.com 2010-08-06 01:13 pm (UTC)(link)
переходите на Microsoft Visual SourceSafe

[identity profile] aamonster.livejournal.com 2010-08-06 01:22 pm (UTC)(link)
hg push -f, и пусть мержит кто-то другой =).

[identity profile] theiced.livejournal.com 2010-08-06 01:23 pm (UTC)(link)
есть такая чтука как автомерж. а автоматом эти дейстивя проделает.

[identity profile] blacklion.livejournal.com 2010-08-06 01:31 pm (UTC)(link)
Всё так делаешь. Это издержки changset-based VCS (в противовес snapshot-based, таких как CVS и subverson).

[identity profile] max630.livejournal.com 2010-08-06 10:04 pm (UTC)(link)
а в svn разве не надо делать update перед commit? вот тут то же самое

(disclaimer: дальше про git, возможно в hg что-то не так)

Хотя, чтобы не коммитить наперегонки, можете каждый пушить в свою ветку, а мержить чужие по утрам или по явной нужде.

Следующий шаг - вообще выкинуть центральный репозиторий и расшарить свои рабочие.

Где-то было эпическое видео Линуса, где в свойственной ему манере (What do you use here? Perforce? I'm ... I'm sorry) он подробно рассказывает, как они работают с git.

[identity profile] dmzlj.livejournal.com 2010-08-07 04:52 am (UTC)(link)
вы случайно не бранч хотите там сделать?