реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> svn : как культурно перенести ревизию из прошлого в head?, то есть с момента этой ревизии всякая фигня в trunk-е
yes
сообщение Mar 23 2010, 11:46
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



пока сделал так : достал ревизию, потер все .svn и положил снова
но не нравится

пытался положить эту ревизию в отдельную ветку (cp в branches), а затем switch этой ветки с head - но какаято фигня вышла - структура подкаталогов нарушается, возможно какие-то правила распространения команд svn на подкаталоги не понимаю

хотел бы ключи/команды svn увидеть в ответах...
Go to the top of the page
 
+Quote Post
ReAl
сообщение Mar 23 2010, 13:05
Сообщение #2


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(yes @ Mar 23 2010, 13:46) *
хотел бы ключи/команды svn увидеть в ответах...
Пока не приходилось, но кое-что в закладках есть:
http://aralbalkan.com/1381 - это именно дублирует прошлое состояние на верхушке, "всякая фигня" останется
http://stackoverflow.com/questions/402159/...-older-revision - это именно усекает всё "после" путём коирования всего "до" в отдельно место. Работать должно подольше, но зато ничего глазами не смотреть в результаах merge.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 24 2010, 02:52
Сообщение #3


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(yes @ Mar 23 2010, 05:46) *
пока сделал так : достал ревизию, потер все .svn и положил снова

вы хотите полностью заменить текущий trunk на какую то конкретную ревизию/ветку/метку ?


--------------------
Go to the top of the page
 
+Quote Post
yes
сообщение Mar 24 2010, 17:32
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



Цитата(des00 @ Mar 24 2010, 05:52) *
вы хотите полностью заменить текущий trunk на какую то конкретную ревизию/ветку/метку ?


нет. некий кусок (отдельный каталог с подкаталогами)
Go to the top of the page
 
+Quote Post
dxp
сообщение Mar 25 2010, 05:26
Сообщение #5


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(yes @ Mar 24 2010, 23:32) *
нет. некий кусок (отдельный каталог с подкаталогами)

Возможно, вам поможет svn merge -rN:M, где N > М (в вашем случае N - это ревизия head, М - ревизия, которую вы хотите вытащить в head). Такое действие как бы "отменит" все изменения, внесенные с М ревизии по N. Конечно, в хранилище ничего никуда не пропадет, просто в head у вас будет теперь состояние, соответствующее ревизии М.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
scifi
сообщение Mar 25 2010, 06:25
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Команда "svn copy" может делать именно это: брать директорию из произвольной ревизии и копировать в нужное место.
svn copy
Предварительно нужно удалить директорию с ненужным содержимым: svn delete.
Go to the top of the page
 
+Quote Post
Ko4egap
сообщение Mar 25 2010, 06:56
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 17-09-09
Пользователь №: 52 434



Цитата(dxp @ Mar 25 2010, 08:26) *
Возможно, вам поможет svn merge -rN:M, где N > М (в вашем случае N - это ревизия head, М - ревизия, которую вы хотите вытащить в head). Такое действие как бы "отменит" все изменения, внесенные с М ревизии по N. Конечно, в хранилище ничего никуда не пропадет, просто в head у вас будет теперь состояние, соответствующее ревизии М.


Тоже пользуюсь этим методом. Вроде как наиболее svn-идеологически корректен. Ну а чтобы попало в хранилище, очевидно, нужно сделать commit.

svn copy убъет всю предысторию, получите новую ветку, а не откат ствола.

Сообщение отредактировал Ko4egap - Mar 25 2010, 06:57
Go to the top of the page
 
+Quote Post
icyrock
сообщение Jun 7 2013, 22:10
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 27-04-07
Из: Санкт-Петербург
Пользователь №: 27 351



Цитата(scifi @ Mar 25 2010, 10:25) *
Команда "svn copy" может делать именно это: брать директорию из произвольной ревизии и копировать в нужное место.
svn copy
Предварительно нужно удалить директорию с ненужным содержимым: svn delete.


Да, это конечно хардкор.


Цитата(dxp @ Mar 25 2010, 09:26) *
Такое действие как бы "отменит" все изменения, внесенные с М ревизии по N. К.


Ревизия svn это билет в один конец. "Отменять" ничего нельзя. Ваш метод, по сути, это то же самое что делает автор: насаждает новую ревизию, которая своим видом повторяет старую.

Сообщение отредактировал icyrock - Jun 7 2013, 22:16
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2025 - 01:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01391 секунд с 7
ELECTRONIX ©2004-2016