tags:

views:

40

answers:

2

Hi everyone, I have a bit of a dvcs design question: I have a project that I am hosting on github. I also have several plugins that I have written for the project, but that I don't want to include in the core code, because they are optional plugins.

In svn, I just created an additional dir that contained all of the plugins. Users could point their svn:externals to each plugin in the directory. With git, I'm not sure if I should create on plugins repo, and have a separate branch for each plugin that users can submodule, or if I should have a totally separate repo for each plugin that can be submoduled. Any thoughts?

+4  A: 

I'd create a separate repo for each plugin, which can be submoduled. Git repos work best when they only contain one project, and the branches in that repo relate to each other (rather than keeping each project in separate, unrelated branches in the same repo).

mipadi
A: 

You can link to a global plugin repo, that is a repo which will contain all the submodules (one for each plugin)

Your main repo can then reference only that "global plugin" repo, which represent a "stable configuration" of plugins ("stable" as "those exact versions of plugins work well together)

VonC