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