Something of a response to Jen's blog post Managing Backdrop CMS config files in Git

How do you all deal with combining code from projects that have their own repositories with your own?

In the past with Drupal, for instance, I always download and extract code from the tarball they provide, and then check it in to my own repositories. That lets me track changes that I make to the official code (I know, Don't patch core, but needs must sometimes). Backdrop, though, is so oriented around Github, for bug fixes and other things,  it seems like I need to have a clone of it somewhere. I'm not sure how to combine these approaches. Plus now all the contributed modules and themes having their own repositories, Javascript libraries, etc.



I use GitHub for some projects but also a private git repository hosted elsewhere. You can still use the same git repository as an upstream remote and pull in changes if there are changes. And then your fork already has your changes that you need to resolve with any potential upstream conflicts.

It depends on what works best for you. If you have patches you want to maintain you could also store them in the site project. And apply the patches with each module update.

And the fork is the way to submit bug fixes in github too, isn't it? I need to look into that more. That's a good point.

One thing I meant was where the code lives literally - like, if my repo looks like


Would you clone some contrib module right into that directory? Or does it work better to keep it separate? It seems to maybe technically work, I just wonder what experience has taught people about it.