M.Alnashmi
M.Alnashmi

Reputation: 592

Version Control Sharing Folders

Ive hit a wall trying to do the following:

i have my own framework/cms i use for multiple websites. They all use the same files and each website has the ability to "extend" certain parts of the cms.

Id like to have all the sites share the cms files and also allow the addition of website-specific files without adding them to the main repo.

the cms structure is:

websites can have their specific components and themes

so an example of website1 would contain

Im currently using externals on the main cms, but that means the custom files are being fetched in all the websites.

anyway i can have websites share all the files, and allow them to extend certain directories?

Cheers

Upvotes: 0

Views: 58

Answers (2)

Lazy Badger
Lazy Badger

Reputation: 97270

I suppose, as you have directory-based separation of core and add-ons, you can use externals. I.e.:

  • In special repo (or path inside common repo) you place CMS-tree
  • Each customer's site also may have own repo or base path inside common repo
    • First level of site-tree repeat cms-tree
    • Second level of site-tree is a mix of "virtual" folders, which you link by svn:externals and real folders, which contain site-specific adds

This way integrating cms-functionaly into site is a question of adding-removing "bricks" in externals list

Upvotes: 0

Ilion
Ilion

Reputation: 6872

You should be able to manage this through branching. The changes for your main files can then be made in your mainline and merged into your branches. (You might want to setup a script or post-commit hook to simplify this or you'll need to merge one by one.) To work on your site specific files you can switch to the appropriate branch and edit them from there.

Upvotes: 1

Related Questions