While developing a PHP+JS web application we always try to separate big blocks of code into small modules/components, in order to make these last ones as much reusable as possible in other applications.
Let's say we now have:
- the
EcommerceApp(an ecommerce main application) - a
Server-file-mgrcomponent (a component to view/manage file on server) - a
Mylib(a library of useful functions) - a
MailistApp(another main application to handle mail lists)
...
EcommerceAppneeds bothServer-file-mgrcomponent andMylibto workServer-file-mgrneedsMylibto workMaillistAppneeds bothServer-file-mgrcomponent andMylibto work too.
My idea is to simply structure the SVN project folder tree putting everything at the same level:
trunk/EcommerceApp
trunk/Server-file-mgr
trunk/Mylib
trunk/MaillistApp
But in real life to make these apps to work the folder tree structure must be the following:
EcommerceApp
|_ Mylib
|_ Server-file-mgr
MaillistApp
|_ Mylib
|_ Server-file-mgr
I mean Mylib and Server-file-mgr needs to be inside the EcommerceApp/MaillistApp folder.
How would you then structure the SVN folder, as I did or in a different/better/smarter way???
EDIT: somoene in the answers below suggested to structure SVN as real life folders, but I would then have on SVN two copies of the same folder, I mean I would have a trunk/EcommerceApp/Mylib and another copy under trunk/MaillistApp/Mylib, how would I keep them synchronized???