[Architecture] Git repository layout for desktop personalization

Boyan Sheytanov boyan.sheytanov at asteasolutions.com
Thu Feb 23 13:50:38 UTC 2012

Hi Yura,

It's great that you've already setup submodules! There's another
alternative to them, which is Subtree Merging (
http://progit.org/book/ch6-7.html) - it includes adding the subproject repo
as a remote, then checking it out into its own branch, and then copying it
as a subdirectory in your master branch. It seems fairly easy to use if the
submodules turn out to be causing problems in the long run.


On Thu, Feb 23, 2012 at 00:17, Yura Zenevich <yura.zenevich at gmail.com>wrote:

> Hi there,
> On that note, I experimented a little bit with git submodules and I
> managed to restructure preferences server to use node_modules and shared
> files from other GPII repos. This would let us reuse the code across
> multiple repositories (preferences server, flow manager, etc). Here's a
> link: https://github.com/yzen/PreferencesServer. Please check out
> README.md to see how you need to inflate the submodules.
> Let me know what you think.
> Yura
> On 2012-02-22, at 1:46 PM, Clark, Colin wrote:
> Hi developers,
> I've been contemplating the issue of how we should structure our
> repositories in Git for easy development, collaboration, and installation.
> Here's a rough proposal followed by a few questions.
> It makes sense to define a small number of repositories divided along
> "physical" boundaries within the architecture:
>  1. The preferences server
>  2. The cross-platform local desktop modules (e.g. the match maker, the
> flow manager, the solutions registry, etc.)
>  3. One platform-specific repository for each platform (Linux, Windows,
> eventually Mac), containing any platform-specific bindings (e.g. the
> gsettings handler, the USB stick user listener, etc)
> This would make it quite easy to eventually automate the release and
> installation process, where a script could assemble only the repositories
> needed for a given platform.
> Yura and I were chatting about this layout today in the office, and he
> raised the question, "Where do the common bits of code and configuration
> go, such as our Infusion Node module, the DataSource abstractions, etc.?"
> In the old days of SVN, this is probably something we'd use SVN externals
> for, allowing us pull in common code from a separate repository. Git has
> submodules, but they're a little more complex and perhaps less suited to
> this particular process. Any other ideas for how we might manage separate
> but shared resources like this?
> Other thoughts or suggestions about this repository layout proposal?
> Colin
> ---
> Colin Clark
> Lead Software Architect,
> Inclusive Design Research Centre, OCAD University
> http://inclusivedesign.ca
> _______________________________________________
> Architecture mailing list
> Architecture at lists.gpii.net
> http://lists.gpii.net/cgi-bin/mailman/listinfo/architecture


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gpii.net/pipermail/architecture/attachments/20120223/7c392e2d/attachment.html>

More information about the Architecture mailing list