Как мне сделать / применить патч diff к этой ситуации? - PullRequest
3 голосов
/ 15 февраля 2009

У меня есть проект, например WORDPRESS. и я использую SVN.

У меня есть следующие копии:

A. WP2.6 с wordpress.org

B. WP2.6, я изменяю некоторые файлы ядра (добавляю / делаю / меняю код некоторых файлов)

C. WP2.7 с wordpress.org

Я бы хотел обновить версию A до C и сохранить изменения версии B.

некоторые из моих изменений могут быть такими:

Код версии A:

123 123

Код версии B:

123 x 123

Код версии C:

123 123 123

ожидаемая окончательная версия:

123 x 123 123

Как я могу сделать / применить патч к этому проекту? быстрее / проще, если у меня более 100 разных файлов

может, я не так думаю. Пожалуйста, предложите сделать это правильно. спасибо.

1 Ответ

1 голос
/ 15 февраля 2009

(Упрощенный ответ): Полностью автоматического способа сделать это не нужно - вам нужно будет разветвляться и объединяться, и объединение будет означать, что вам придется просматривать свои модификации и тестировать их.

  1. Начните с (A) как / trunk, извлеченный в вашу рабочую копию
  2. Создание ветки "vendor" для WP2.6
  3. Скопируйте (B) в сундук. Береги себя чтобы svn rm и svn mv удалили и переименовать файлы и зафиксировать Ствол
  4. Переключить рабочую копию на ветку (A) -WP2.6
  5. Скопируйте (C) в эту ветку (Опять же, не забудьте svn mv и svn rm, если необходимо) и передайте
  6. Переключить рабочую копию обратно на ствол
  7. Слияние из ветки поставщиков WP2.6 обратно в багажник (это где большая часть трудной работы будет)
  8. Протестируйте его с той степенью уверенности, которая вам нужна, прежде чем совершить его в сундук
  9. Повторите для будущих выпусков

Чтобы проиллюстрировать трудности, которые обычно не могут быть решены автоматически, рассмотрим следующее: в вашем примере ожидаемая окончательная версия может быть одной из следующих:

123 x 123 123
123 123 x 123
...