SVN: объединить локальные изменения в другую рабочую копию - PullRequest
13 голосов
/ 25 августа 2010

У меня есть две рабочие копии одного и того же проекта, каждая из которых переключена на другую ветку.Можно ли объединить локальные изменения в одном проекте с другой рабочей копией?

Ответы [ 3 ]

17 голосов
/ 25 августа 2010

Вы не можете объединить две отдельные рабочие копии, но есть некоторые вещи, которые вы можете сделать.

Если изменения вносятся в существующие файлы, самый простой способ - создать патч с svn diff, а затем просто применить этот патч к другой рабочей копии. Например. в первом рабочем экземпляре вы делаете:

svn diff > patch

И затем вы применяете это в другом:

patch -p0 < patch

И, как обычно, вы хотите запустить patch с параметром --dry-run, чтобы убедиться, что он работает первым.

Однако, если ветви не имеют одинакового расположения файлов, вы не можете просто взять патч и применить его. В этом случае вам просто нужно сначала зафиксировать другие локальные изменения, а затем использовать svn merge как обычно

3 голосов
/ 25 августа 2010

Вы можете создать патч для одной рабочей копии (svn diff) и применить его к другой (patch). http://ariejan.net/2007/07/03/how-to-create-and-apply-a-patch-with-subversion/

1 голос
/ 19 ноября 2011

Если ваши изменения включают в себя удаление, использование патча GNU не приведет к его сокращению. Если вы хотите, чтобы изменения были зафиксированы в обеих ветвях, зафиксируйте их в одной ветви, а затем svn объедините эти изменения с другой веткой. Если вы внесли изменения в ветвь A и нуждаетесь в них в ветке B, svn переключит рабочую копию ветки A на ветку B.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...