svn: Скопировать нужные файлы из нужных ревизий. (Часть репозитория (ревизиями) вытащить в другой.)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Xaktyc
Сообщения: 604
ОС: Gentoo 2008.0, WinXP

svn: Скопировать нужные файлы из нужных ревизий.

Сообщение Xaktyc »

Имею на vps svn и запущенный svnserve. Имею root доступ.
Репозитории лежат по адресу /usr/share/svn
два репозитория:
/usr/share/svn/usched
/usr/share/svn/ras4pda

в первом лежат разные проекты от visual studio, в корне sln и suo файлы, в корне же папки с модулями и заголовками проектов (по папке на решение sln).

В репозитории usched ревизии общие, но за одну ревизию изменялся только один проект.

Необходимо вытащить один из проектов (sln+suo+директория проекта) в репозиторий ras4pda, вытянув ревизии, которые затрагивали его (чтобы потом по тому репозиторию тоже можно было получить прошлые ревизии).

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

Заранее спасибо.
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: svn: Скопировать нужные файлы из нужных ревизий.

Сообщение deadhead »

Xaktyc писал(а):
21.10.2009 18:25
В svn относительный новичек, в линуксе не новичек, поэтому про работу с svn желательно подробней.

Subversion Version Control: Using the Subversion Version Control System in Development Projects

P.S.
This book is available as a PDF under the Open Publication License.
[x] close
Спасибо сказали:
Аватара пользователя
Xaktyc
Сообщения: 604
ОС: Gentoo 2008.0, WinXP

Re: svn: Скопировать нужные файлы из нужных ревизий.

Сообщение Xaktyc »

Если бы мне было так легко освоить этот мануал, я бы не обратился на ЛФ, тем более в раздел для начинающих. Если нет желания (или знания) помочь - дай хотя бы русский.
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: svn: Скопировать нужные файлы из нужных ревизий.

Сообщение deadhead »

Xaktyc писал(а):
22.10.2009 13:20
Если нет желания (или знания) помочь - дай хотя бы русский.

увы, но русского не знаю...

Не очень понятна иерархия репозиториев и их взаимосвязь... особенно в этом месте
Xaktyc писал(а):
21.10.2009 18:25
вытащить один из проектов (sln+suo+директория проекта) в репозиторий ras4pda, вытянув ревизии, которые затрагивали его
эти репозитриии как-то связаны между собой? либо нужно просто вытянуть ветку с первого репозитория и продублировать ее во втором?
[x] close
Спасибо сказали:
Аватара пользователя
Xaktyc
Сообщения: 604
ОС: Gentoo 2008.0, WinXP

Re: svn: Скопировать нужные файлы из нужных ревизий.

Сообщение Xaktyc »

deadhead писал(а):
22.10.2009 14:26
эти репозитриии как-то связаны между собой? либо нужно просто вытянуть ветку с первого репозитория и продублировать ее во втором?

Репозитории никак не связаны, они просто находятся оба в /usr/share/svn, но являются независимыми с разными юзерами, ревизиями итд.
В общем нужно вытащить файл Raspisanye.ru.sln,Raspisanye.ru.suo, диру Raspisanye.ru. Просто перетащить последнюю ревизию то я и так могу.
Но мне желательно перетащить все ревизии, содержащие эти два файла и эту директорию.
Конкретно только что мне пришла мысль, что можно вручную перенести, благо ревизий не совсем туча туевая. Тоесть сливать с самой первой ревизии, которая добавляет эти файлы и папки, потом по одной ревизии сливать ,удалять лишнее и коммитить в другой. Но все же, мне кажется, что это не очень логично.
Если моя задача будет слишком сложно осуществляться - я могу от нее и отказаться.
Спасибо, что решил помочь :)
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: svn: Скопировать нужные файлы из нужных ревизий.

Сообщение deadhead »

к сожалению
You can only copy files within a single repository. Subversion does not support cross-repository copying.

Поэтому придется копировать данные "поревизионно".

Получаем "снимок" в рабочую директорию
svn checkout --revision <номер ревизии> file:///usr/share/svn/usched

Импортируем данные (для ras4pda эти данные не версионые)
svn import file:///usr/share/svn/ras4pda

Меняем рабочую директорию и получаем "подконтрольную" копию
svn checkout file:///usr/share/svn/ras4pda

Первая ревизия скопирована...
Далее по алгоритму
получаем нужную ревизию для первого репозитория
копируем файлы в рабочую директорию второго
обновляем изменения во втором репозитории (svn commit)

Не ахти как получилось... может кто что получше предложит...

P.S. Ничего не проверял! Предварительно рекомендую сделать бэкап и сверится с мануалом на русском
[x] close
Спасибо сказали:
Аватара пользователя
Xaktyc
Сообщения: 604
ОС: Gentoo 2008.0, WinXP

Re: svn: Скопировать нужные файлы из нужных ревизий.

Сообщение Xaktyc »

Я так и предполагал, но рассчитывал, что есть что-то более удобное и автоматичное :)
А под эти ревизии, пожалуй, напишу скрипт на баше для импорта и удаления ненужного.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: svn: Скопировать нужные файлы из нужных ревизий.

Сообщение sash-kan »

Xaktyc писал(а):
22.10.2009 21:52
есть что-то более удобное и автоматичное
git-svn
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: