Hi,
I've used and enjoyed copybara at Google in the past for maintaining third party packages, but now I'm coming to it from the outside where things are somewhat different and I don't have access to internal docs and examples.
If there's a better way to do what I describe below, I'd love some pointers.
We have an upstream repo on github that we want to integrate from, while maintaining some long lived patches, alongside some code transformations. Ideally squashing commits from upstream to reduce noise in our fork.
I expect that this is best done with a patch series (autopatch is great but still involves dealing with all merge conflicts in one go, without respect to a feature, as far as I can see). The workflow that seems natural to me is to manage the patches with quilt, and:
* pop everything.
* copybara import the new revision.
* push patches one by one, resolving conflicts and refreshing.
It feels like this is quite manual, though, and sidesteps a lot of things that copybara could be doing (including knowing what the last imported revision is, since it has no destination VCS).
Thanks,
Toby.