2009-12-31 12 views
5

Używam hostowanej usługi subversion dla szeregu projektów rozwoju osobistego i zawodowego. Podczas gdy oni przechowują kopie zapasowe jak każda firma hostingowa, powinienem móc tworzyć własne kopie zapasowe, na wszelki wypadek. Ta usługa pozwala zażądać i pobrać kopię zapasową, ale pobierają za to pieniądze. Czy mimo to mogę wygenerować kopię zapasową/zrzut mojego hostowanego repozytorium, łącząc się z nim jako klient przez HTTPS?Czy można wykonać kopię zapasową/utworzyć zrzut repozytorium subversion bez bezpośredniego dostępu do serwera?

Odpowiedz

1

Teoretycznie "nie", ponieważ zrzut można wykonać tylko za pomocą polecenia svnadmin. Istnieje jednak nietrywialne rozwiązanie, które pozwala to obejść.

Istnieją dwa sposoby: prosty i trudny. Prosty jeden jest narzędzie o nazwie rsvndump (zdalne SVN wysypisko), można go znaleźć tutaj: http://rsvndump.sourceforge.net/

Jeśli prostsze jeden nie działa dla Ciebie (rsvnadmin ma swoje ograniczenia, jak napisano na to manpage), nie jest skomplikowane jeden:

Druga trudniejsza metoda wymaga zainstalowania SVK, klienta do rozproszonej kontroli wersji, zbudowanego przy użyciu svn, jako klienta rozszerzonego. Niestety procedura instalacji jest nietrywialna, ale tutaj jest guide to help.

Teraz listy zdalnego repozytorium przy SVK:

svk ls URL-to-SVN 

Postępuj zgodnie z instrukcjami. Voila, masz lokalną kopię repozytorium :). Dwie pierwsze wersje są powiązane z SVK, więc teraz, aby zrobić zrzut, uruchamiasz:

svnadmin dump -r2:HEAD ~/.svk/local > repository.dump 

I masz to.

SVK ma także tę zaletę, że jest wstępnie wbudowany w system Windows (here's the link).

4

Można użyć polecenia svnsync. Zasadniczo otrzyma on każdą wersję źródłowej bazy danych SVN i przekaże je do zapasowej bazy danych. Po pierwszym uruchomieniu może być powolny, ponieważ pobiera wszystkie zmiany po kolei, ale po pierwszej synchronizacji jest to dobre rozwiązanie.

+0

Zauważ, że 'svnsync' wymaga serwera SVN być uruchomiony w wersji 1.4 lub wyższej. –

Powiązane problemy