ветка svn (удалены папки .svn) - PullRequest
1 голос
/ 16 декабря 2011

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

Полагаю, я все сделал пока неправильно ...

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

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

С уважением,
Johannes

Ответы [ 3 ]

2 голосов
/ 16 декабря 2011

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

1) извлеките последнюю копию исходной ветви с сервера SVN.Допустим, это оригинальная копия {A}

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 голосов
/ 16 декабря 2011

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

Если вы хотите обновить свою ветку за счет изменений по сравнению с Trunk, вы можете рассмотреть метод «Bunny Hopping», описанный здесь:

По сути, создайте новую ветку из Trunk, объедините вашу старую ветку с новой, а затем удалите старую ветку. Если у вас есть незафиксированные изменения рабочей копии, вы можете скопировать их в новую рабочую копию.

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

0 голосов
/ 16 декабря 2011

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

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