2015-06-18 2 views
0

У меня есть настраиваемый локальный репозиторий NopCommerce 3.5. Новая версия NopCommerce (3.6) отсутствует, и я хотел бы попытаться обновить ее. Я загрузил их исходный код, и я хотел бы как-то заменить все файлы в моем локальном репозитории новыми файлами (вне репозитория), а затем перенесировать изменения и слить их с моими изменениями. Очевидно, что слияние было бы ручным, но у меня нет проблем с этим.Hg Mercurial - Обновление кода не в репозитории

В случае я не объясняя это правильно, позвольте мне дать вам и пример:

У меня есть файл foo.cs (v3.5), который имеет собственный код в моем локальном хранилище. Я загрузил новый файл foo.cs (v3.6), который не находится в каком-либо репозитории. Как я могу объединить их, чтобы сохранить свои изменения и новые изменения, добавленные командой NopCommerce?

Это то, что я пробовал до сих пор: Я создал новую ветку под названием «Nop3.6» и заменил foo.cs. Затем я попытался объединить ветку «Nop3.6» с моей ветвью «по умолчанию», надеясь, что вы сможете объединиться вручную и сохранить оба, мой пользовательский код и новые изменения, добавленные в foo.cs (v3.6). Как вы могли ожидать, это не сработало. мой файл foo.cs (v3.5) был полностью заменен новым foo.cs, и все мои изменения были потеряны.

Любая помощь в правильном направлении была бы высоко оценена.

ответ

0

Выполнение слияния наоборот (ваши изменения в версии 3.6 могут работать лучше. Также убедитесь, что вы выбрали разумный инструмент слияния (внутренние работы, но там, возможно, более удобные, я сам использую kdiff3) :

Я предполагаю, что у вас есть хранилище с v3.5, и кроме того, у вас есть один или несколько изменений, которые являются вашими собственными модификациями этого источника. Если вы не внесли свои изменения в качестве наборов изменений поверх v3. 5, затем сделайте это сейчас.

Затем, чтобы получить приличное слияние с v3.6, выполните следующие действия: обновите немодифицированный v3.5. Скопируйте v3.6 поверх этого и скопируйте полное изменение как v3.6. Вы получаете репозиторий, в котором есть две анонимные ветви с v3.5, являющимися их общим предком.

Теперь вы можете объединить эти две ветви. Поскольку вы, возможно, захотите сохранить свои изменения поверх версии v3.6, обновите до версии v3.6 и объедините свои локальные изменения в эту ветку.

+0

@plantmaker - Спасибо! Ключом было обновление до неизменной версии 3.5. Это было немного сложнее, чем ожидалось, потому что выясняется, что мое репо было повреждено, и я не смог обновиться до немодифицированного v3.5. Я закончил загрузку новой копии 3.5, а затем выполнил ваши инструкции. Я потерял всю свою историю, но, по крайней мере, смог обновиться и объединиться. Ну что ж. Большое спасибо! Я собирался пойти с этим почтой. –