tags:

views:

70

answers:

1

I have a private repo in github that is the complete source code to my cms. Now I have a few local customers that I want to use the same code base on but with different themes. Is it better to fork the original project out into a repo for each one. Or use a submodule and create a new repo for each customer?

After each site is complete I would imagine the theme files wouldn't change much but would need to pull in changes from the main repo when bugs are discovered.

+3  A: 

Since there is two set of files involved (the common based, and the theme files), then submodules are appropriate.

Each client would have:

  • a main git repo project
    • one submodule cloning the common code base
    • one submodule with specific files for its theme.

Forking is more a cloning technique able to isolate one version of a repo from its copy.
GitHub implements it with a fork queue to facilite cherry-picking back some changes made in forked Git repo.
But the key thing here is: it concerns the all repository, not just one part.
If several parts are involved, submodules are the right answer.

VonC