Project: datamanagement
Issue DM-3679: Allow building/publishing components off branches other than master
Support of xrootd within the stack is currently complicated by the fact that qserv depends on features that are not available on upstream master (only available on an upstream non-master branch). Since we can currently only publish packages from master, this means that our lsst fork of xrootd cannot be a "pure" fork -- we end up merging/rebasing from an upstream branch, then force-pushing the downstream master. Upstream and downstream xrootd repos thus have completely different branch topologies, labels, etc., and history of master in the lsst fork is being continually rewritten to carry local patches forward. The processes of both adopting upstream changes into the lsst fork and the pushing lsst changes back upstream are cumbersome, confusing, and labor intensive. It is proposed that we extend our tools to allow publishing components from branches other than master. This would allow us to have xrootd for example be a "pure" fork of upstream -- we could then create our own branch based off any upstream branch, carry our downstream patches there, and release off of that. This functionality could be used similarly for any of our current "t&p" components where it would be convenient to track the upstream repo directly and/or carry changes in git instead of in an agglomerated patch file (e.g. when we might want to update frequently and/or contribute general purpose changes back upstream regularly with pr's, etc.)
Story points: 2