Я пытаюсь создать комплект для удаленной команды. У них есть копия депо из ревизии 892, и мы в настоящее время находимся в редакции 1119.hg bundle not working
Сначала я попробовал исправления, но создал тонну файлов, которые были повреждены при попытке их применения (как правило, при объединении). .. и наш репозиторий имеет размер 17 ГБ, поэтому я пытаюсь создать дельта-патч, таким образом, я понял, что пакет hg идеально подходит для этого.
Я создал связку с помощью:
>hg bundle --rev 1119 --base 892 depot-892-to-1119.bundle
Это создало расслоение файл, 350MB, что является приемлемым и чувствует себя хорошо.
Но когда мы применяем его на склад назначения, который только идет к пересмотру 892 он barfs на:
E:\dest-depot>hg unbundle -u depot-892-to-1119.bundle
adding changesets
transaction abort!
rollback completed
abort: [email protected]: unknown parent!
И до сих пор это похоже на ряд других вопросов, которые я видел во время поиска, но я Сделаем еще один шаг.
Я искал e5cc33458251 в источнике (более крупное депо), и он отображается как ревизия 930, которая явно после rev 892, но указывает, что это причина отказа. Разумеется, в целевом хранилище нет ревизии. Вот почему я создал комплект в первую очередь .... так что я не совсем уверен, почему это вызывает у меня проблемы.
Теперь у нас есть несколько филиалов в депо, а rev 892 - на ветку «Патч 2.7», а не по умолчанию. Я не знаю, должно ли это вызвать проблему. В конце концов эта ветвь патча была возвращена обратно в дефолт в версии 999.
930 на самом деле было очень маленьким и тривиальным изменением кода, а также в ветке «Патч 2.7». На графике пересмотра на самом деле было 2 строки патча 2.7, и они были объединены в 932. Но опять же ничего странного.
Я не вижу проблемы здесь. Любые идеи о том, какой пучок я должен генерировать? Или, если я пойду по другому пути?
Да, действительно, вы правы. Так что проблема в том, что я строил пакет из своего рабочего каталога (где я всегда редактировал код и т. Д.) И сделал ошибку, что rev 892 на моей ревизии соответствовал 892 в целевом хранилище ... и они были разными (было фактически 894). Способ создания правильного пакета состоит в том, чтобы использовать информацию хэш-тега вместо номера версии. ** Не делайте этого ** > рт.ст. расслоение --rev 1119 --Base 892 депо-892-к-1119.bundle ** ли это ** > рт.ст. расслоение --rev 1119 - base e5cc33458251 depot-892-to-1119.bundle –
Прохладно, я думал, что может быть так. Номера версий должны считаться действительными только в местной кассе. Если вы поместите его в электронное письмо, вы просите о неприятностях. –