SVN: объединить локальные изменения в другую рабочую копию
-
01-10-2019 - |
Вопрос
У меня есть две рабочие копии того же проекта, каждый из которых переключился на другую ветку. Можно ли объединить локальные изменения в одном проекте на другую рабочую копию?
Решение
Вы не можете объединить две отдельные рабочие копии, но есть некоторые вещи, которые вы можете сделать.
Если изменения сделаны в существующие файлы, самый простой способ состоит в том, чтобы создать патч с svn diff
, а затем просто примените этот патч к другой рабочей копии. Например. В первой рабочей копии вы делаете:
svn diff > patch
И тогда вы применяете его в другом:
patch -p0 < patch
И как обычно, вы хотите бежать patch
с --dry-run
Возможность убедиться, что он работает первым.
Однако, если филиалы не имеют одинакового макета файлов, то вы не можете просто сделать патч и применить его. В этом случае то, что вам нужно сделать, это просто сначала совершить другие местные изменения, а затем использовать svn merge
по-прежнему
Другие советы
Вы можете создать патч на одной рабочей копии (svn diff
) и применить его к другому (patch
).
http://ariejan.net/2007/07/03/how-to-cratee-and-apply-a-patch-with-subversion/
Если ваши изменения включают в себя удаления, использование PATCH GNU не обрезает его. Если вы хотите, чтобы изменения, совершенные для обоих ветвей, зафиксируйте их в одном, а затем SVN объединяет эти изменения в другой ветви. Если вы сделали изменения в филиале A и нуждаются в них в ветке B вместо этого, SVN переключает вашу ветку рабому копию в ветку B.