синхронизация 2 хранилищ svn

Phoenix

Можно ли как-нибудь организовать?
В моём случае есть домашний сервак, на который доступ извне закрыт стримом. И сейвак в инете.
Хочу,чтобы можно было дома работать с домашним, а на внешние серваки заливать инфу с недомашнего.
допускает ли это svn. Если не допускает, то чем такое можно организовать.
В идеале, хочется работать с обоими хранилищами в режимах запись\чтение.

yroslavasako

я думаю, что в любом случае первым шагом должно быть установление vpn-соединения с сервером, чтобы никакие ограничения стрима вам не мешали.

Phoenix

исходящие соединения же не запрещены.
зачем vpn не очень понял.
чем регулярный опрос недомашнего сервака домашним отличается от vpn ?

Gaishnik

С svn'ом кроме тебя кто-то работает? Если да, то пока ты комитишь на домашний сервак, кто-то комитит на недомашний, и придется потом делать мердж. Логика работы с svn нарушается.
Если ты один, то делаешь дамп с домашнего репозитория, и накатываешь его на недомашний.

SPARTAK3959

Посмотри в сторону svk, может тебе его будет достаточно.

sergeikozyr

лучше заюзай git, имхо

SCIF32

+1 к git-у

SCIF32

вообще в svn-е есть такая штука, как externals - то что ты написал можно сделать с помощью нее.

SCIF32

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

yroslavasako

а ещё в git есть такая вещь как импорт из svn

SCIF32

ага, можно и так.
но если уж на git переходить, то лучше без этого обойтись )

artimon

Мердж двух репозиториев обычная ситуация? :shocked:

SCIF32

я так понял, писал про то, что бы организовать всё только с использованием одного (внешнего) репозитория.
а если все же делать два и их синхронизировать вручную - то это жесть.

vall

>Мердж двух репозиториев обычная ситуация?
для гита — да

Phoenix

С svn'ом кроме тебя кто-то работает? Если да, то пока ты комитишь на домашний сервак, кто-то комитит на недомашний, и придется потом делать мердж. Логика работы с svn нарушается.
Если ты один, то делаешь дамп с домашнего репозитория, и накатываешь его на недомашний.

Это обходится, например, так.
Чтобы обновить репозиторий, нужно залочить какой-нибудь мутекс, который находится на главном сервере. При отстутвии связи с этим сервером - запись невозможна.
Когда залочили, обновляем, потом отсылаем изменения на главный сервер и он рассылает, снимает блокировку с мутекса.
Я хочу найти решение проблемы,которое можно будет и в будущем использовать, а не костыль. Сейчас я работаю один, но в этом случае, можно и просто по scp заливать репозитории.

Phoenix

Если я правильно понял, это что-то вроде обёртки для разных svn, cvs и т.д.
Или это что-то другое и нужно будет отойти от svn?

Phoenix

С git'ом не работал, но вроде он это всё умеет.
Единственное меня смутило, что весь репозиторий хранится на рабочих машинах.
Можно ли сделать чекаут(или свич) какого-нибудь тега на рабочем серваке без качания всего репозитория?

yroslavasako

Можно ли сделать чекаут(или свич) какого-нибудь тега на рабочем серваке без качания всего репозитория?
по умолчанию так и происходит. Только учитывай, что дельта-патчи придётся качать от начала времён. А если расстараться, то можно склонить и весь удалённый репозиторий - со всеми его ветками.
http://www-cs-students.stanford.edu/~blynn/gitmagic/index.ht... - вменяемое описание гита ( официальное могут понять и распарсить только роботы и автоматы).
http://los-t.livejournal.com/tag/git+guts - git для чайника по-русски. Рассматривает внутренне устройство на простых примерах, хорошо просветляет мозги после заумных описаний из mana

vall

дельта-патчи придётся качать от начала времён
не обязательно

Phoenix

ок. спасибо за ссылки.
а то как-то мутно всё было написано там, что я нашёл.
Оставить комментарий
Имя или ник:
Комментарий: