Na początek, mam spojrzał na następnych stronach i nie bardzo mam odpowiedź: how-would-you-organize-a-subversion-repository-for-in-house-software-projects i how-do-you-organize-your-version-control-repositoryNajlepszy sposób organizowania repozytorium Subversion wielu małych projektów
Mam również wyglądał na rozdział 8 z Pragmatic Version Control using Subversion.
Wszyscy mają dobrą radę, ale ciężko mi jest powiązać to z moimi potrzebami.
Zasadniczo chcę zorganizować kod dla naszego serwera WWW. Mamy $ WEBROOT/htdocs i $ WEBROOT/cgi-bin. Pod naszym katalogiem htdocs mamy $ WEBROOT/htdocs/js i $ WEBROOT/htdocs/css dla skryptów java i arkuszy stylów.
Nasze "projekty" to nie są naprawdę projekty, ale małe fragmenty kodu - może skrypt Perla, plik skryptu java i arkusz stylów. Mamy około stu takich małych "projektów", które są prawie całkowicie niezależne od siebie, ale wszystkie żyją pod tym samym $ WEBROOT na tym samym serwerze internetowym.
Nasz kod nie jest jeszcze w subversion, ale chcę, żeby tak było - mam problem z jego efektywną organizacją. W razie potrzeby możemy mieć wiele repozytoriów SVN, ale jeśli każde repozytorium zawiera tylko 3-10 elementów, wydaje mi się to marnotrawstwem.
To, co myślałem, że może zadziałać, wygląda mniej więcej tak: Jeśli piszę skrypt, aby policzyć działające procesy na serwerze internetowym (na przykład). Załóżmy, że mam skrypt perl, plik js i plik css. Mógłbym wymienić webserver_processes "projekt" i sprawdzić go w repozytorium jako:
/svnrepo/webserver_processes/trunk
Under bagażniku, mogę mieć:
htdocs/html/webserver_processes
htdocs/js/webserver_processes
htdocs/css/webserver_processes
cgi-bin/webserver_processes
nie mam żadnych statyczne dokumenty HTML w tym " projekt ", ale gdybym to zrobił, przejdą do katalogu" html ".
Korzyścią, którą widzę w tej strukturze, jest to, że mogę jednorazowo zrealizować jeden "projekt", nie wpływając na nic innego na serwerze sieciowym. Wadą (a może to nie jest żadna wada) jest wdrażanie. Musiałbym wdrożyć 1 projekt na raz z repozytorium. Nie widzę sposobu, w jaki można utworzyć kopię roboczą z moją strukturą $ WEBROOT/htdocs i $ WEBROOT/cgi-bin przy użyciu tej metody.
Inna opcja:
mógłbym stworzyć repozytorium SVN tak:
/svnrepo/webcode/trunk
Pod bagażniku byłby cały kod na mój serwer WWW, w tych dwóch katalogach:
htdocs
cgi-bin
Wielką wadą byłoby to, że w przypadku niewielkiej zmiany kodu na 1 element, musiałbym sprawdzić każdy fragment kodu w moim środowisku internetowym ment. Zaletą (nieco) byłoby wykonanie "aktualizacji svn" na naszym serwerze internetowym w celu pobrania zmian wprowadzonych do repozytorium.
Może po prostu czynię to bardziej skomplikowanym, niż powinno być, ale czy ktoś ma jakąkolwiek radę na temat tego, jak skutecznie zorganizować mój kod w subwersji?
Wielkie dzięki z góry!
Brian
Wygląda na to, że dwie opcje są takie same, z wyjątkiem nazwy katalogu głównego serwera webserver_processes w jednym i kodu web w drugim? – Sol
Druga opcja to wszystko pod moim $ WEBROOT to pojedynczy projekt w subwersji. Pierwsza opcja polega na tym, że każdy "projekt", nad którym pracujemy, jest jego własnym projektem w repozytorium subversion. – BrianH