SVN: объединить локальные изменения в другую рабочую копию

StackOverflow https://stackoverflow.com/questions/3564487

Вопрос

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

Это было полезно?

Решение

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

Если изменения сделаны в существующие файлы, самый простой способ состоит в том, чтобы создать патч с 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top