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-mgr
component (a component to view/manage file on server) - a
Mylib
(a library of useful functions) - a
MailistApp
(another main application to handle mail lists)
...
EcommerceApp
needs bothServer-file-mgr
component andMylib
to workServer-file-mgr
needsMylib
to workMaillistApp
needs bothServer-file-mgr
component andMylib
to 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???