Chcę skonfigurować repozytorium SVN na moim komputerze bez dostępu do sieci. Pracuję nad kodem bez żadnego współpracownika, więc nie chcę, aby był on publicznie dostępny.
Przeczytałem ten post , ale sugeruje on korzystanie z usług repozytorium SVN online, które dają darmowe repozytoria. W takim przypadku mój kod będzie publicznie dostępny (zgodnie z warunkami bezpłatnych planów).
Zastanawiałem się więc, czy mogę skonfigurować lokalny serwer na moim komputerze z systemem Windows XP, do którego mam dostęp tylko wtedy, gdy nie mam połączenia z Internetem?
Odpowiedzi:
Najłatwiejszym sposobem skonfigurowania serwera lokalnego jest użycie svnserve :
W rzeczywistości nie potrzebujesz serwera subversion, jeśli wszystko, co chcesz zrobić, to uzyskać lokalny dostęp do repozytorium, ponieważ możesz uzyskać dostęp do repozytorium subversion za pośrednictwem adresu URL pliku, jak opisano w tej odpowiedzi :
Jeśli używasz TortoiseSVN , możesz znaleźć instrukcje w Creating The Repository With TortoiseSVN :
Bezpośrednio powyżej na tej stronie opisano również, jak utworzyć repozytorium z wiersza polecenia .
Powiedziawszy to, polecam spojrzeć na Mercurial lub Git jako alternatywę
svn
. Jeśli znasz TortoiseSvn, przekonasz się, że TortoiseHg i TortoiseGit są łatwym przejściem, a ponadto daje ci elastyczność do pracy w sposób rozproszony później, jeśli zajdzie taka potrzeba. Na przykład w przeszłości korzystałem z kart pamięci do przesyłaniahg
repozytoriów między komputerami bez dostępu do sieci, a gdy pracujesz w ten sposób, otrzymujesz bezpłatną kopię zapasową w okazyjnej cenie.źródło
Najprostszy (i najszybszy) serwer, którego można używać do pracy z lokalnym repozytorium, osadzony w każdym kliencie svn . Jest to serwer do uzyskiwania dostępu do dowolnego repozytorium i dowolnej liczby repozytoriów , istniejących w lokalnym systemie plików, za pomocą pliku protokołu: ///. Nie zapewnia żadnych metod autoryzacji ani uwierzytelniania, zapewnia jedynie pełny, nieograniczony dostęp do kontrolowanego repozytorium, ale z drugiej strony pozwala na użycie i daje wszystkie funkcje systemu VCS per se.
Aby korzystać z tego serwera, musisz w dowolnym pustym katalogu w dowolnej lokalizacji wywołać komendę CLI svnadmin z odpowiednią podkomendą i parametrami (nie pamiętam, czy w pakiecie klienta CLI są programy administracyjne, czy nie i nie mogę sprawdź - nie zainstalowałem klienta CLI svn, tylko TortoiseSVN, które mają te programy w instalatorze w wersji 1.7) - mam nadzieję, że będziesz w stanie go znaleźć.
svnadmin help
pokaż nam wszystkie dostępne komendy, jesteśmy teraz zainteresowani komendącreate
.svnadmin help create
podać wszystkie potrzebne nam daneW punkcie początkowym pierwszego repo możemy zignorować wszystkie opcje dostrajania i zapamiętać tylko główną formę
svnadmin create REPOS_PATH
, tam REPOS_PATH jest ścieżką bezwzględną lub względną do pustego katalogu, planowanego do repo. Ponieważ większość czasu zwykli ludzie systemu Windows do aplikacji wieloplatformowych mogą być zdezorientowani, której notacji (lewy lub lewy ukośnik) należy użyć w ścieżce (metoo), najbezpieczniejszym sposobem jestcd
lokalizacja, z której nasz katalog jest widoczny bez długiej ścieżki - rodzic przyszłego katalogu repo lub samego katalogu. Do planowanego repoz:\Main
wcześniejsvnadmin create
i wreszcie
W rezultacie otrzymujemy puste repozytorium w katalogu, które jest wyświetlane w Eksploratorze Windows ze specjalną ikoną jako wskaźnik zawartości
Teraz, za każdym razem, gdy to repozytorium jest potrzebne, używamy zwykłych poleceń SVN, tam pojawia się część URL lub parametry
file:///Z:/Main
(Dodałem standardowe drzewo repozytorium w repo).
Przeanalizujmy ten dziwny adres URL:
file:///
, jak w przypadku każdego adresu URL, oznacza protokół dostępu, w naszym przypadku protokół jest specjalny i ma trzy, a nie dwa ukośnikiZ:/Main
jest pełna ścieżka do repozytorium z dyskiem i ścieżka wewnątrz dysku, tam wszystkie ukośniki odwrotne systemu Windows zastąpione „klasycznymi” ukośnikamiZ jakiegokolwiek innego miejsca to repozytorium nie różni się od „Big Brothers” ze specjalnymi serwerami Subversion
źródło
Spróbujmy odpowiedzi, która zaleca ogólne rozwiązania, a nie szczegółowe.
Po pierwsze tak, możesz używać Subversion na samodzielnym komputerze - możesz zainstalować serwer lokalnie lub pracować z plikiem: //
Ale chyba, że istnieje bardzo dobry powód, dla którego musisz użyć subwersji, sugerowałbym, że nie jest to najlepsze rozwiązanie problemu lokalnej kontroli wersji - zwłaszcza dlatego, że zawodzi jedną z rzeczy, które uważam za niezbędne, tj. Zapewnienie, że ty kod źródłowy znajduje się w co najmniej dwóch miejscach (tak, nawet dla rzeczy osobistych). Dlatego sugerowałbym użycie rozproszonego systemu kontroli wersji (DVCS).
Jedną z zalet DVCS jest to, że po zainstalowaniu narzędzi repozytoria są autonomiczne w folderze i możesz synchronizować zawartość między różnymi folderami zawierającymi „to samo” repozytorium, o ile masz dostęp na poziomie plików. Możesz również porozmawiać z wersjami „serwerowymi” tych repozytoriów (które są hostowane prywatnie lub są dostępne jako usługa). To sprawia, że życie jest dużo łatwiejsze w prowadzeniu wszystkiego lokalnie.
Istnieją również inne zalety DVCS.
Jak już zauważyłem, nie sądzę, że naprawdę masz odpowiednie rozwiązanie VCS, dopóki kod nie znajduje się na co najmniej dwóch komputerach (w szczególności na dwóch różnych dyskach twardych i idealnie w więcej niż jednej lokalizacji - chociaż klonuje się i naciska na pamięć USB lub Przechowywanie „w chmurze” (skydrive, dropbox, i in.) to kolejny sposób, który również powinien działać.
Pod względem DVCS - spojrzałbym na Mercurial (Hg) i Git, a także na Veracity . Używam Mercurial, ponieważ jest jeszcze ładniejszy w systemie Windows ...
Jeśli chodzi o warunki hostowanych usług, zgadzam się, że github ma wiele do powiedzenia - ale jest też wiele fajnych rzeczy o bitbucket i Fogbugz / Kiln ... i to samo prawdopodobnie dotyczy wielu innych usług których nie wymieniłem (np. http://beanstalkapp.com/, o czym wspominałem dzisiaj na Twitterze)
źródło
Subversion nie wymaga serwera. Korzysta ze scentralizowanego repozytorium, ale dostęp do tego repozytorium można uzyskać za pomocą metody dostępu do „pliku”, co oznacza, że wystarczy dostęp do systemu plików, w którym repozytorium jest przechowywane. Najłatwiejszym sposobem skonfigurowania tego jest utworzenie folderu gdzieś na dysku twardym, wskazanie TortoiseSVN (lub podobnego narzędzia) i „utworzenie tutaj repozytorium”. Stamtąd możesz zrobić wszystko, aby wprowadzić swój kod do repozytorium.
Jednak na dłuższą metę prawdopodobnie lepiej będzie użyć rozproszonego SCM, przy czym najlepszymi kandydatami są git (bardziej wydajny, stromy krzywa uczenia się, działa najlepiej na * nix) i merkurialny (nieco mniej wydajny, łatwy do nauczenia się, działa jednakowo dobrze w systemie Windows i * nix). Dzięki nim twoja kopia robocza zawiera całe repozytorium i możesz utworzyć tyle klonów (zdalnych lub lokalnych), ile chcesz. Możesz zacząć lokalnie, a jeśli zdecydujesz się hostować repozytorium na zewnątrz, po prostu sklonuj swoje istniejące repozytorium lokalne do lokalizacji zewnętrznej i możesz synchronizować w obu kierunkach w dowolnym momencie. Jeszcze lepiej, ponieważ każdy z twoich klonów zawiera całą historię projektu, SCM działa również jako system zapasowy. Dzięki subversion, jeśli twój serwer umrze i nie utworzyłeś jego kopii zapasowej, twoja historia zniknęła - z git,
http://hginit.com/ ma doskonały samouczek na temat rozpoczęcia korzystania z rtęci.
źródło
Istnieje wiele firm hostingowych SVN, które oferują darmowe konto dla jednego lub dwóch programistów i nie wymagają publicznego kodu. Sprawdź połączoną tabelę pod kątem opłaty 0 USD, Wymagane OSS = NIE. Naliczyłem dziewięciu dostawców, którzy obecnie spełniają te kryteria.
Chociaż z pewnością możesz bardzo łatwo hostować własne repozytorium, istnieją pewne korzyści związane z korzystaniem z usług dostawcy:
Możesz uzyskać dostęp do kodu z dowolnego miejsca bez dodatkowej konfiguracji.
Przechowywanie kodu poza witryną chroni Cię przed awariami dysku twardego, pożarami itp.
Niskie koszty administracyjne.
źródło