Jest to możliwe, ale niekoniecznie proste: problem staramy się rozwiązać jest niebezpiecznie blisko do konfigurowania środowiska rozwoju rozproszonej, który nie jest dokładnie to, co SVN jest zaprojektowany dla.
Sposób SVN-lustro
Można użyć svn mirror
jak wyjaśniono w dokumentacji księgowej SVN stworzenia read-only zwierciadło repozytorium master. Twoi programiści wchodzą w interakcję z najbliższym im lustrem. Jednak użytkownicy repozytorium podrzędnego będzie musiał użyć
svn przełączyć --relocate master_url
zanim popełnią i będą musieli pamiętać, aby przenieść się z powrotem na niewolnika, gdy są one wykonane. Może to być zautomatyzowane za pomocą skryptu opakowującego wokół repozytorium modyfikującego polecenia na SVN, jeśli używasz klienta wiersza poleceń. Należy pamiętać, że operacja przeniesienia podczas szybkiego dodawania trochę narzut. (I uważać, aby powielić repozytorium UUID. - patrz the SVN documentation)
[Edit - Sprawdzenie dokumentacji TortoiseSVN wydaje się, że można mieć TortoiseSVN execute hook scripts client side. W tym momencie możesz być w stanie utworzyć skrypt przed/po zatwierdzeniu. Albo to albo spróbuj sprawdzić, czy możesz to zrobić za pomocą TortoiseSVN automation interface].
SVK sposób
svk to zestaw skryptów Perl, które naśladować rozproszoną usługę mirroring nad SVN. Możesz ustawić tak, aby lokalny oddział (mirror) był współdzielony przez wielu programistów. Wtedy podstawowe użycie dla programistów będzie całkowicie przejrzyste. Będziesz musiał użyć klienta svk do zbioru wiśni, łączenia i starmergingu. Jest to wykonalne, jeśli potrafisz opanować rozproszone koncepcje.
git-svn sposób
Choć nigdy nie użyłem, że sam może mieć również odległe programiści użyć git lokalnie i używać bramę git-svn do synchronizacji.
Ostatnie słowa
Wszystko zależy od środowiska rozwoju i poziomu integracji wymagają. W zależności od twojego IDE (i jeśli możesz zmienić SCM) możesz chcieć rzucić okiem na inne w pełni rozproszone SCM (pomyśl o Mercurial/Bazaar//...), które wspierają rozwój rozproszony po wyjęciu z pudełka.
Jestem sceptyczny jak proxy może poprawić sytuację. Możliwe, że zatwierdzenie zajmuje mniej czasu dla POV użytkownika, ale dane wciąż muszą być przesyłane do wzorca, a to wciąż ma tę samą wielkość przepustowości sieci. W ten sposób aktualizowanie wzorca jest równie powolne, nawet jeśli wydaje się szybsze dla użytkownika. Z powodu tego asynchronicznego zachowania master może zacząć opóźniać się. – aseq