The company I'm working for is using a third-party web application (PHP/MySQL) which can be extended by modules. We need to track our own changes to the core application and to additional modules, keep track of which modules are installed and at the same time maintain the ability to easily update the application and its modules to the latest vendor version.
At this time we're using one git repository containing everything. To maintain updatability we're using a vendor branch strategy. This works fine for the main app, but pretty soon becomes messy when multiple modules enter the stage.
However I was not able to find a feasible way to manage such a project with git, especially because both git's submodules and git's subtree merging seem to require a subproject to be contained in one directory. But that's not true for most web applications I've seen, as it is with this one which has following directory structure:
app/
`-code/
`-path/to/plugin/code
`--i18n/
`-path/to/plugin/i18n
`--assets/
`-path/to/plugin/assets
So does anybody know how this Problem could be solved without sacrificing too much usability (as submodules do IMHO)
Update:
Please also consider that I'm on Windows Vista and symlinks don't seem to work with Git for Windows.