2011-12-16 4 views
1

Я сделал несколько вещей неправильно, сливая ствол в ветку. Сначала я подумал, что легче проверить новую рабочую копию туловища и добавить все изменения «вручную». Затем я подумал, что нормально удалить разветвленную папку «src» и перезаписать ее с помощью «src» из туловища. Теперь ясно, что папки .svn не являются правильными папками (поскольку они принадлежат к соединительной линии, а не к ветке). Поэтому я решил удалить все .svn-папки, но теперь я не знаю, как проще всего добавить его в ветку еще раз или как создать новую ветку со всеми моими изменениями.svn branch (удаленные папки .svn)

Я предполагаю, что я сделал все неправильно до сих пор ...

Я думаю, что отключит мой проект, проверка пересмотра руководителя филиала, но опять же я как-то хочу «переопределить» ветвь, то есть более или менее замените всю «src» -панель (стандартное расположение maven).

Ну, это более или менее, что я могу отключить свои изменения от svn, который по существу является текущим состоянием («src» не является рабочей копией, поэтому я также могу отключить все). Кроме того, у меня есть копия без удаленных папок .svn, но папки .svn указывают на туловище, вот и вся проблема.

Уважение,
Johannes

+0

Вы используете стандартную компоновку svn с 'trunk',' branch' и 'tags'? Все ли совершено, или у вас есть местные изменения? Какую версию 'svn' вы используете? – Andre

+0

Посмотрите на 'svn switch' (http://svnbook.red-bean.com/en/1.0/re27.html). Это может помочь в вашем сценарии. –

+0

У меня так много изменений, что я впервые подумал о «реальном» слиянии, но потом закончил тем, что использовал сундук и добавил к нему свои изменения, тогда я думал, что смогу его скопировать, но да ... да, мы используем стандартный формат svn. Моя ветка - ветвь Java7, а на соединительной линии используется Java6. – Johannes

ответ

2

Следующие шаги, которые я использую, когда я хочу, чтобы заменить что-то из другой ветви в другую ветвь или любой другой (под Windows):

1) Получить последнюю копию исходной ветви с сервера SVN. Скажем, это оригинальная копия {А}

2) сделайте копию своей рабочей копии. Пусть говорят, что это модифицированная копия {B}

3) изменить каталог в корневом каталоге вашего {B} и удалить скрытые .svn папки из всех папок и подпапок {B}

CD "{B}" 

FOR /F "tokens=*" %G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q "%G" 

4) копия {B} до {A}

5) совершать {A}

+0

Спасибо, это то, что я тоже подумал и что сделал, плюс удалил некоторые устаревшие классы до 5) ;-) И небольшая команда commando для удаления каталогов .svn ;-) – Johannes

0

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

0

5 шаг план по @eee поможет вам интегрировать изменения рабочей копии в SVN (либо ствол или ветви).

Если вы хотите обновить свою ветку с изменениями от Магистрального, вы могли бы рассмотреть метод «распрыжка» описан здесь: http://designbygravity.wordpress.com/2009/10/19/what-mother-never-told-you-about-svn-branching-and-merging/

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

Обратите внимание, что с клиентом SVN 1.7 гораздо проще удалить папки .svn, так как в корневой копии рабочей копии всего 1.

+0

Я все еще svn, версия 1.6.12 (r955767) скомпилировано 5 августа 2011, 17:07:24 от Ubuntu ;-) – Johannes

Смежные вопросы