У меня есть родительское хранилище A.Синхронизация переходит из детского ртутного репозитория, созданный с преобразовать обратно рт.ст. к родительскому ртутному хранилищу
Я создал небольшое хранилище ребенка B родительского хранилища, содержащий вишневый взяли маленькие список подпапок для доступа другой команды с помощью HG-преобразования
hg convert A B --filemap filemap.txt
где filemap.txt не делает никакого переименования. Он включает или исключает папки. Такие как:
exclude *
include folder1
include folder2/subfolder1
include folder2/subfolder2
include folder2/subfolder3
exclude folder3_that_was_pulled_in_for_some_reason
Преобразование из A в B отлично работает. Я также могу повторно запустить команду hg convert, чтобы «нажимать» последующие изменения на A-B (я использую здесь термин «толкнуть здесь свободно» ...)
Но как насчет того, когда я хочу «нажать» изменения с B назад к A? Запуск hg convert B A без filemap воссоздает все коммиты в B назад в A, поэтому у меня есть множество дублированных коммитов в A.
Есть ли разумный способ синхронизации A и B в будущем? Возможно, это будет невозможно, если изменения применяются к A и B в разных заказах?
Спасибо за прямой ответ. Думаю, мои выборы - либо реорганизовать мое репо, либо отказаться от простой синхронизации. Вероятно, последнее будет связано с тем, что синхронизация B с A до не столь важна, как нажатие новых изменений с A на B. – persiflage
@persiflage, вы можете пожалеть об этом решении, если команда, работающая в B, начнет посылать вам много изменений, которые не могут быть тривиально интегрированным: в вашей настройке нет управления общей версией - есть одно репо для вас и другое для другой команды, и вы поручаете себе синхронизировать их внешними средствами. – alexis
@alexis. Спасибо, я понимаю, что ты говоришь. Если интегрирование изменений B в A было приоритетом бизнеса, я бы пошел на подрепозитивный подход. В этом случае бизнес-приоритет передает изменения от A до B. В конце проекта B изменения B _might_ будут интегрированы обратно в A, но, скорее всего, проект B будет потерян или движется в независимом направлении. – persiflage