Для начала я просмотрел следующие страницы и не получил своего ответа:
как вы организуете подрывную деятельность-репозиторий для собственных программных проектов и
как-сделай вы упорядочивать-ваш-контроля версий-хранилище
Я также рассмотрел главу 8 Прагматический контроль версий с использованием Subversion .
У них всех есть хороший совет, но мне трудно связать его с моими потребностями.
По сути, я хочу организовать код для нашего веб-сервера. У нас есть $ WEBROOT / htdocs и $ WEBROOT / cgi-bin. В нашем каталоге htdocs у нас есть $ WEBROOT / htdocs / js и $ WEBROOT / htdocs / css для сценариев Java и таблиц стилей.
Наши "проекты" на самом деле являются не проектами, а небольшими кусочками кода - может быть, сценарий Perl, файл сценариев Java и таблица стилей. У нас может быть около сотни таких небольших «проектов», которые в значительной степени независимы друг от друга, но все живут под одним и тем же $ WEBROOT на одном веб-сервере.
Наш код еще не находится в подрывной деятельности, но я хочу, чтобы он был - у меня просто проблемы с его эффективной организацией. Мы можем иметь несколько svn-репозиториев, если это необходимо, но если в каждом репозитории всего 3-10 элементов, это кажется пустой тратой.
То, что я думал, может сработать, примерно так: если я напишу скрипт для подсчета запущенных процессов на веб-сервере (для примера). Допустим, у меня есть сценарий perl, файл js и файл css. Я мог бы назвать "project" webserver_processes и проверить его в хранилище как:
/svnrepo/webserver_processes/trunk
Под стволом я мог бы иметь:
htdocs/html/webserver_processes
htdocs/js/webserver_processes
htdocs/css/webserver_processes
cgi-bin/webserver_processes
У меня нет статических html-документов в этом "проекте", но если бы я это сделал, они пошли бы в каталог "html".
Преимущество, которое я вижу в этой структуре, заключается в том, что я могу оформить один «проект» за раз, не оказывая существенного влияния на что-либо еще на веб-сервере. Недостаток (и, возможно, это на самом деле не недостаток) заключается в развертывании. Я должен был бы развернуть 1 проект за один раз из хранилища. Я не понимаю, как можно было бы создать рабочую копию с моей структурой $ WEBROOT / htdocs и $ WEBROOT / cgi-bin, используя этот метод.
Другой вариант:
Я мог бы создать хранилище SVN, как это:
/svnrepo/webcode/trunk
Под транком будет весь код на моем веб-сервере, в этих двух каталогах:
htdocs
cgi-bin
Огромным недостатком было бы то, что для небольшого изменения кода на 1 элемент мне пришлось бы проверять каждый фрагмент кода в моей веб-среде. Выгода (в некоторой степени) состояла бы в том, что я мог бы сделать svn-обновление на нашем веб-сервере, чтобы зафиксировать любые изменения, внесенные в репозиторий.
Может быть, я просто делаю это более сложным, чем должно быть, но есть ли у кого-нибудь совет, как мне эффективно организовать свой код в Subversion?
Заранее большое спасибо!
Brian