В Mercurial ветвь все еще находится внутри
хранилище, или это совершенно новый
локальный репозиторий?
Эквивалентом способа работы subversion будет хранилище с несколькими головками в Mercurial. Однако это не идиоматический способ ведения дел. Обычно у вас будет только одна голова в данном репозитории, поэтому отдельные репозитории для каждой ветви.
Если у каждого из нас есть копия целого
хранилище, значит ли это, что у всех нас есть
копии различных функций друг друга
ветви (это много данных
передача)
Да, если вы посмотрите историю заголовка вашего локального репозитория, то сможете увидеть все ветви функций, которые были объединены. Но ртутные репозитории удивительно экономят место. Например, я сделал hg clone https://www.mercurial-scm.org/repo/hg
, чтобы получить исходный код самого mercurial, и он составляет всего 34,3 МБ в файловой системе NTFS (по сравнению с загрузкой исходного кода , что составляет 1,8 МБ). Mercurial также будет использовать жесткие ссылки, если ваша файловая система его поддерживает, поэтому при клонировании репозитория в другое место на том же диске будет мало накладных расходов.
Я знаю, что Mercurial является DCVS, но делает
это означает, что мы выталкиваем / вытягиваем изменения
друг друга напрямую, а не через
одноранговый репозиторий на сервере?
Одним из способов работы действительно является предоставление каждому разработчику публичного репозитория, в который он вносит свои изменения. Все остальные разработчики могут получить то, что хотят.
Однако обычно у вас есть один или несколько «благословенных» репозиториев, в которые интегрированы все изменения. Всех разработчиков тогда нужно только вытащить из благословенного репозитория. Даже если бы у вас не было такого благословенного хранилища, я думаю, что люди автоматически организуются таким образом, например. все тянет от ведущего разработчика.