2009-09-12

Как перенести SVN репозиторий с oDesk

svn, howto

Иногда встает задача переноса SVN репозитория с сервера на котором у вас нет ssh доступа. Возникнуть такая задача может у пользователей oDesk, Google Code, SourceForge и других площадок которые предоставляют SVN но не предоставляют ssh доступ.

Если ssh доступ есть то задача решается просто, например можно воспользоваться вот этими инструкциями. Однако что делать если ssh не доступен?

Решение нашел вот здесь. На помощь приходит утилита svnsync позволяющая синхронизировать два репозитория. Алгоритм получается следующий:

- создаем чистый репозиторий;
- синхронизируем его с удаленным при помощи svnsync;
- делаем дамп нового репозитория;
- заливаем дамп в новый репозиторий который и будет новым основным репозиторием.

Создаем временный репозиторий:

> svnadmin create temp_repo

Здесь и далее temp_repo - имя временного репозитория.

Создаем внутри директории hooks пустой исполняемый файл:

> echo '#!/bin/sh' > temp_repo/hooks/pre-revprop-change
> chmod +x temp_repo/hooks/pre-revprop-change

Теперь синхронизируем наши репозитории:

> svnsync init file://[full_path_to_repository]/temp_repo https://secure.odesk.com/svn/[odesk_s_reporsitory_name]
> svnsync sync file://[full_path_to_repository]/temp_repo

Дело сделано, теперь получаем дамп:

> svnadmin dump [full_path_to_repository]/temp_repo > repo_dump

Теперь в repo_dump мы имеем полный дамп удаленного репозитория который можно залить куда угодно.

Создадим новый репозиторий и зальем туда наш дамп:

> cd /path/to/new-repository-parent-directory
> svnadmin create repository-name
> svnadmin load repository-name < repository.dumpfile

Осталось переключить проект на новый репозиторий:

> svn switch --relocate oldurl newurl

 

комментарии:

 
RSS комментариев

Для того чтобы каждый раз не представляться можно войти как зарегистрированный пользователь.

Имя*

разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться

разное (186)
howto (124)
программирование (108)
гад-же-ты (75)
мысли (42)
PHP (41)
JavaScript (39)
вебмастеринг (37)
linux (28)
гондураша (28)
юмор (25)
полезное (21)
Android (17)
движок (17)
софт (15)
деньги (14)
кино (14)
видео (13)
музыка (10)
интернет (10)
путешествия (10)
беспредел (10)
diy (9)
книги (9)
занимательная физика (8)
ztools (8)
умный дом (8)
языки (7)
хостинг (7)
Nokia 5800 (7)
css (6)
вебдизайн (6)
lifehack (6)
связной (5)
apple (5)
oDesk (5)
arduino (5)
козлы (5)
прелоадер (5)
svn (4)
кухня (4)
Python (4)
аниме (4)
занимательная юриспруденция (4)
synphony (3)
энергия (3)
software (3)
движек (3)
рестораны (3)
webmastering (2)
Java (2)
Берлин (2)
Ruby on Rails (2)
фото на документы (2)
гитара (2)
bash (2)
спорт (2)
восстановить (1)
дурдом (1)
авторское право (1)
SEO (1)
сайты (1)
наука (1)
годнурас (1)
C++ (1)
технологии (1)
programming (1)
микросервисы (1)
Поиск по блогу:

Valid XHTML 1.0 Strict