Mercurial копия патча в хранилище - PullRequest
3 голосов
/ 13 апреля 2010

Я использую репозиторий Mercurial, у меня есть патч в формате 'git', и я хотел знать, как я могу применить этот патч к моему текущему репозиторию, который является локальным.

Спасибо

Ответы [ 2 ]

3 голосов
/ 13 апреля 2010

hg import <patchfile(s)> должен обрабатывать патчи в стиле git.

Используйте hg import --no-commit <patchfile(s)>, если вы не хотите, чтобы он автоматически фиксировал изменения после каждого патча.

Часто задаваемые вопросы Mozilla упоминают это: https://developer.mozilla.org/en/Mercurial_FAQ#How_can_I_diff_and_patch_files.3f

2 голосов
/ 13 апреля 2010

Попробуйте hg import --no-commit, у Mozilla есть довольно полезный FAQ относительно торговли патчами между Git и Mercurial.

В зависимости от вашей платформы вы также можете просто использовать patch, например, patch -p1 < some_patch_from_git.patch. На самом деле это может быть лучше, так как вы увидите какой-то пух и вам не придется иметь дело с доверием автора только для одного патча.

Редактировать

Если ваш патч не входит чисто, ни один из вышеперечисленных методов не сработает. Ваша кодовая база - это не то, чего ожидает патч, если блоки не будут применены. Посмотрите на отклонения и посмотрите, какой патч ожидает, что ваш код будет в любой заданной строке, затем сделайте соответствующую перезагрузку.

...