При разработке веб-приложения PHP + JS мы всегда стараемся отделить большие блоки кода от небольших модулей/компонентов, чтобы сделать эти последние максимально возможными в других Приложения.Структура дерева папок проекта SVN и структура дерева папок проекта
Допустим, мы теперь имеет:
EcommerceApp
(электронная коммерция основного приложение)Server-file-mgr
компонент (компонент для просмотра/управления файлом на сервере)Mylib
(библиотека полезные функции)- a
MailistApp
(другое основное приложение для обработки списков рассылки)
...
EcommerceApp
потребность какServer-file-mgr
компонента иMylib
работатьServer-file-mgr
потребностиMylib
работатьMaillistApp
потребности какServer-file-mgr
компонентов иMylib
работать тоже.
Моя идея заключается в том, чтобы просто структурировать папку проекта дерево SVN положить все на том же уровне:
trunk/EcommerceApp
trunk/Server-file-mgr
trunk/Mylib
trunk/MaillistApp
Но в реальной жизни, чтобы сделать эти приложения для работы структуры папок дерева должны быть следующие:
EcommerceApp
|_ Mylib
|_ Server-file-mgr
MaillistApp
|_ Mylib
|_ Server-file-mgr
Я имею в виду Mylib
и Server-file-mgr
потребности быть внутри папки EcommerceApp/MaillistApp
.
Как бы вы тогда структурировали папку SVN, как я, или в другом/лучше/умнее? ???
EDIT: somoene в ответах ниже предложил структурировать SVN как папки реальной жизни, но тогда у меня было бы на SVN две копии одной и той же папки, я имею в виду, что у меня был бы багажник/EcommerceApp/Mylib и еще одна копия под trunk/MaillistApp/Mylib, как бы я их синхронизировать ???
Спасибо, я знаю, что лучше, чтобы каждый из них был собственным сундуком, но я не хотел уменьшать ответное компромисс. Если я использую второй, так как вы предположили, что у меня будет на SVN две копии одной и той же папки, я имею в виду, что у меня будет сундук/EcommerceApp/Mylib и другая копия под туловищем/MaillistApp/Mylib, как бы я их синхронизировать? ? –
Я говорил о svn: externals это не копия! – khmarbaise
спасибо 'svn: externals' именно то, что я искал. К кому это может относиться по этой ссылке http://e-mats.org/2008/05/adding-an-external-svn-resource-with-tortoise/, они дают хорошее объяснение того, как использовать 'svn: externals' с TortoiseSVN –