У меня следующий вопрос.Предположим, у меня есть несколько хранилищ, которые образуют иерархию, например: A -> B -> C (означает, что A - это центральное хранилище, а все остальные - его потомки).
Теперь предположим, что я работаю склон C. Предположим, я хочу получить изменения не только из C, но и из центрального репозитория, поэтому я делаю следующие команды:
hg pull [Address of A]
hg up
Это кажется совершенно законным, но что происходит, тогда я фиксирую своиизменения и подтолкнуть их к С?Будут выдвинуты не только мои локальные модификации, но и модификации центрального репозитория (если они есть).Что произойдет, если кто-то попытается перенести изменения с А на С?Будет ли конфликт или он успешно объединит изменения A -> local -> C с изменениями A -> C. Признает ли Mercurial тот же набор изменений или нет?
Аналогичная ситуация имеет место, если я решу, что мой код достаточно стабилен и может быть помещен в центральный репозиторий:
hg commit -u spirit -m "A local modification that is stable"
hg push [Address of A]
Что произойдет, если я сделаю переход от А к С изатем снова перетащите из C в мое локальное репо, распознает ли он эти изменения как происходящие из моего локального репо, или сообщит о конфликте и предложит слияние?
И что в любом случае является наилучшей практикой в этом случае?Выполняет только последующие подтягивания и нажатия (то есть A <-> B, B <-> C, C <-> local)?Но проблема в том, что у меня есть только доступ к моему локальному репозиторию, который является клоном C. Как я могу сделать тягу из B в C, если я захочу на моей локальной машине?Как работает Mercurial