![]() |
|
![]() ![]() ![]() |
|
Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 3 Всего: 51 |
У меня вопрос по SVN.
Как перенести папку из одного репозитория в другой с сохранением истории изменений? Что-то я никак не могу найти информации по этом вопросу. И возможно ли такое вообще? п.с. Для работы с репозиторием использую TortoiseSVN. |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 1 Всего: 70 |
скорей всего это невозможно. у каждого репозитория своя история изменений и что делать, если скопировать данные из одно в другой?
|
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: нет Всего: 162 |
Наваяй скрипт, который вытаскивает ревизии с 1 до HEAD, лог к ревизии и коммитит в другой репозиторий.
Это если очень надо. |
|||
|
||||
Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 3 Всего: 51 |
||||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: нет Всего: 259 |
Возможно удастся как-то наколдовать с помощью svn merge, но я не уверен. Надо пробовать
Если с помощью него не удастся, то или скрипт или никак |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 3 Всего: 110 |
если я не ошибаюсь, отдельного скрипта для этого не нужно: можно воспользоваться "svnadmin dump" и "svnadmin load" однако, здесь есть ещё одна проблема: всё, что было в корне второго репозитория, попадёт в корень первого, т.е. возможны наложения, так что, наверное, стоит корень второго репозитория перемещать в поддиректорию первого, для этого перед использованием "svnadmin load" нужно позаменять пути (там формат текстовый (ну или почти текстовый - не знаю, как там с бинарниками), так что можно использовать find and replace сам такого не пробовал, так что мог чего-то не учесть, но вроде выглядит работающе... Это сообщение отредактировал(а) maxim1000 - 14.3.2008, 20:55 -------------------- qqq |
|||
|
||||
Bose |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 3 Всего: 51 |
Спасибо за идеи. Пока что это звучит слишком грозно для меня. |
||||
|
|||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: нет Всего: 162 |
дело в том, что это нештатная ситуация ![]() |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 3 Всего: 110 |
та тут ничего грозного нету просто "svnadmin dump /path2/repository2 > qqq.txt" потом "svnadmin load /path1/repository1 < qqq.txt" а перед этим можно в repository1 в корне создать папкус каким-нибудь неповторимым именем и скинуть туда всё из корня, потом можно выполнять эти две команды, получится в корне созданная папка с предыдущим содержимым корня и остальное из repository2 только перед всеми этими операциями я бы посоветовал скопировать репозиторий или его дамп в безопасное место ![]() -------------------- qqq |
|||
|
||||
Bose |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 3 Всего: 51 |
Теперь вопросов стало ещё больше. =)
а где взять svnadmin ? У меня на компе установлен TortoiseSVN, там такого файла я не нашёл. Доступа к серверу у меня нет. При желании конечно, могу попросить нашего админа пустить "порулить" серваком - но вообще подвергать все исходники риску не хочется.
А как сделать это? |
||||
|
|||||
maxim1000 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 3 Всего: 110 |
а... там, наверное, нету впрочем, svn можно скачать (достаточно в google набрать subversion и перейти по первой ссылке) там будут утилиты командной строки, среди них и svnadmin
тут вопрос в том, кто у вас занимается репозиториями, ИМХО, эта задача как раз для него тогда стоит сделать так: svnadmin dump /path1/repository1 > 1.txt svnadmin dump /path2/repository2 > 2.txt создать третий репозиторий в нужном месте svnadmin load /path3/repository3 < 1.txt svnadmin load /path3/repository3 < 2.txt при таком подходе доступ к каждому из двух репозиториев осуществляется только на чтение, так что ничего испортить не получится лучше пользоваться подходом с третьим репозиторием - тогда никакой угрозы нету (ну разве, если пути перепутать) впрочем, если репозиторий удалённый, то возможно (и вполне естественно), что не у всех будут права на выполнение подобных действий, так что всё-таки лучше обратиться к человеку, администрирующему репозитории -------------------- qqq |
||||
|
|||||
![]() ![]() ![]() |
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание на то, что новые темы, касающиеся новых вопросов, создаются кнопкой "Новая тема", а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих темах, будут удалены. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, arilou. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | УП: Инструменты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |