Зафиксируйте изменения в ветке, отличной от текущей извлеченной ветки с помощью subversion - PullRequest
111 голосов
/ 06 мая 2010

Я работал над кодом, извлеченным из строки разработки, и обнаружил, что внесенные изменения могут нарушать изменения и должны быть перемещены в экспериментальную ветку перед фиксацией в основном дереве разработки. Однако у меня нет проверенной экспериментальной ветви, и я не хочу потерять уже внесенные изменения.

Есть ли способ зафиксировать изменения в рабочей папке в ветке, отличной от первоначально извлеченной?

Ответы [ 3 ]

123 голосов
/ 06 мая 2010

Сначала вы должны создать ветку из известного sourceURL (это будет ваша «линия разработки», о которой вы упоминали в вопросе):

svn copy sourceURL branchURL

Затем переключитесь на эту ветку:

svn switch branchURL

И внесите ваши изменения:

svn commit
53 голосов
/ 06 января 2012

Вы можете сделать это в TortoiseSVN так:

  • Щелкните правой кнопкой мыши каталог, в котором находятся изменения, которые вы хотите разветвить. Он не должен быть корнем хранилища, тем более дублировать его;
  • Выбрать TortoiseSVN -> " Ветвь / тег ... ";
  • Установить На URL : "svn: // хост / репозиторий / FooBar / branch / FooBarBranchName";
  • Убедитесь, что [*] Рабочая копия выбрана . Это обеспечит внесение изменений;
  • Журнал сообщений : "Эксперимент с мухами :)";
  • Необязательно: Отметьте [*] Переключить рабочую копию на новую ветку / тег . Это полезно, если вы планируете продолжать работать над новой веткой. Хотя вы можете переключиться на него и позже.
  • Попробуйте найти кнопку OK . Подсказка: оно находится в нижней части окна по центру.

Наслаждайтесь!

8 голосов
/ 06 мая 2010

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

Команды svn copy и svn switch

...