2016-11-29 2 views
1

Недавно я перешел из SVN в git, и моя команда уже начала работать в новом репозитории git.Как применить git patch в репозитории с измененной историей?

Позже я обнаружил некоторые проблемы с преобразованием и сделал 2-го git-репо из SVN с некоторыми исправлениями и перезаписи истории.

Теперь у меня есть вторая git-копия SVN repo (с которой я связан), и я хочу исправить ее с изменениями, которые уже были сделаны с моей командой в 1-м репозитории git.

Для этих целей я пытаюсь использовать Git патчи:

  • git-format-patch --zero-commit --stdout > master.patch создать один файл изменений, которые уже были внесены в master 1-го мерзавца репо
  • и git-am применять коммиты из *.patch файла на master 2-го хранилища

Уточняю --zero-commit, потому что хэши в файле патча будут неправильными, sicne у меня на самом деле есть два разных репозитория.

Проблема заключается в том, что, когда я пытаюсь применить патч с git am master.patch я получаю:

Applying: %commit_name% error: patch failed: readme.md:5 error: readme.md: patch does not apply Patch failed at 0001 %commit_name% The copy of the patch that failed is found in: .git/rebase-apply/patch When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort".

даже тогда, когда я только один совершить в этом патче, и я хочу, чтобы применить его на том же репо, чтобы получить то же самое commit, но на другой ветке.

ответ

0

Похоже, добавив --ignore-whitespace в git am решить главную проблему, но я до сих пор warnigs как:

.git/rebase-apply/patch:56: trailing

warning: squelched 9 whitespace

errors warning: 14 lines add whitespace errors.