On Thu, Jun 5, 2014 at 11:23 AM, W. Trevor King <wking@xxxxxxxxxx> wrote: > 3rd party libraries sound loosely-coupled to me ;). In one of my more > mature projects I did a similar thing, and just used relative URLs [1] > and sibling mirrors/forks [2,3,4]. > > Cheers, > Trevor > > [1]: https://github.com/wking/pygrader/blob/master/.gitmodules > [2]: https://github.com/wking/pgp-mime > [3]: https://github.com/wking/pyassuan > [4]: https://github.com/wking/jinja2 I guess I'm still confused on how relative URLs help here. Won't the capping commits (A and C in your first email) still be needed? Or is there a way I can modify the local "../third-party.git" submodule repo instead? Can you explain? Unfortunately, the reason why I feel third party in a submodule creates tight coupling is because: * You can't make changes to third party libs for your feature branch without breaking the trunk * Merge conflicts are insane to resolve and involve two clones if trunk maintainers modify third party binaries and you do as well. * Feature branching requires those capping / meta commits to simply setup your branch to be a feature branch. Instead of just creating my branch and starting to make commits, I now have to setup my submodule branch first. Also pull requests won't show the changes to the third party libraries unless I do a second pull request for the third party repo. It just seems like a mess :-( -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html