Для начала, я посмотрел на следующих страницах и не совсем у меня ответ: how-would-you-organize-a-subversion-repository-for-in-house-software-projects и how-do-you-organize-your-version-control-repositoryЛучший способ организовать хранилище подрывной многих небольших проектов
Я также посмотрел на главу 8 от Pragmatic Version Control using Subversion.
У всех есть хороший совет, но мне сложно связать его с моими потребностями.
В принципе, я хочу организовать код для нашего веб-сервера. У нас есть $ WEBROOT/htdocs и $ WEBROOT/cgi-bin. В нашем каталоге htdocs мы имеем $ WEBROOT/htdocs/js и $ WEBROOT/htdocs/css для java-скриптов и таблиц стилей.
Наши «проекты» на самом деле не проекты, а небольшие фрагменты кода - возможно, сценарий Perl, java-скриптовый файл и таблица стилей. У нас может быть около сотни таких небольших «проектов», которые практически не зависят друг от друга, но все они живут под тем же самым $ WEBROOT на том же веб-сервере.
Наш код еще не находится в подрывной деятельности, но я хочу, чтобы это было - мне просто сложно организовать его эффективно. Мы можем иметь несколько репозиториев svn, если это необходимо, но если каждый репозиторий был всего лишь 3-10 элементов, это кажется мне пустой тратой.
То, что, как я думал, может работать, примерно такое: если я напишу сценарий для подсчета запущенных процессов на веб-сервере (для примера). Предположим, у меня есть скрипт perl, js-файл и файл css. Я мог бы назвать «проект» webserver_processes, и проверить его в хранилище как:
/svnrepo/webserver_processes/trunk
Под стволом, я мог бы:
htdocs/html/webserver_processes
htdocs/js/webserver_processes
htdocs/css/webserver_processes
cgi-bin/webserver_processes
У меня нет каких-либо статические HTML документы в этом " проект ", но если бы я это сделал, они вошли бы в каталог" html ".
Выгода, которую я вижу в этой структуре, заключается в том, что я могу проверять один «проект» одновременно без какого-либо влияния на что-либо еще на веб-сервере. Недостаток (и, возможно, это не совсем минус) развертывается. Мне пришлось бы развернуть один проект за раз из хранилища. Я не вижу, как с помощью этого метода можно создать рабочую копию с моей структурой $ WEBROOT/htdocs и $ WEBROOT/cgi-bin.
Другой вариант:
я мог бы создать репозиторий SVN вроде этого:
/svnrepo/webcode/trunk
Под стволом будет весь код на моем веб-сервере, в этих двух каталогах:
htdocs
cgi-bin
Огромный недостаток заключается в том, что при небольшом изменении кода на 1 элемент мне пришлось бы проверять каждый фрагмент кода в моей веб-среде Мент. Преимущество (в некоторой степени) состояло бы в том, чтобы я мог сделать «обновление svn» на нашем веб-сервере, чтобы получить любые изменения, внесенные в репозиторий.
Возможно, я просто делаю это более сложным, чем должно быть, но есть ли у кого-нибудь какие-либо советы о том, как я могу эффективно организовать свой код в подрывной деятельности?
Большое спасибо заранее!
Brian
Кажется, что ваши два варианта - это одно и то же, за исключением того, что вы назвали каталог верхнего уровня webserver_processes в одном и веб-код в другом? – Sol
Второй вариант - все под моим $ WEBROOT - это единственный проект в подрывной деятельности. Первый вариант заключается в том, что каждый «проект», над которым мы работаем, является собственным проектом в репозитории subversion. – BrianH