Request: Add the ability to select a branch other than master as the production branch for a project.
I have separate Dev and Prod Looker instances, with GitHub webhooks set up as described here (TL;DR: on-push webhook pings the Dev instance, on-release webhook pings the Prod instance). This is nice in that it lets us make sure changes from various branches have been tested to work together before releasing it to end-users. The problem is it makes it harder to fix bugs in production.
Suppose release 1.0 is in production. A lot of work has been done on 2.0 since then, with several features having been merged into master but not released to production. A significant bug is found in 1.0 that needs to be fixed urgently. What now? Because Looker locks master as the production branch, I’m forced to do one of three things:
- Don’t fix the bug in 1.0, leaving it for the next release, whenever that is.
- Revert from master all of the changes since 1.0, merge the bugfix into master, release 1.1, then re-commit all the work to master.
- Merge the bugfix into master, then release 2.0 before it’s ready.
If I can have the Dev instance use
develop as its production branch while the Prod instance continues to use
master, I can make a new branch
master, make the change in
fix-broken-thing, then merge
fix-broken-thing into both
develop without any of the above issues.
I could use a different branch management strategy where all of the 2.0 feature branches are merged into a
foo-2.0 branch instead of
master, but that requires:
- Everyone to be in dev mode and switch to the
foo-2.0branch to see what’s in 2.0, and
- Changing GitHub’s default branch settings (I wonder if Looker explicitly checks out
masteror if it just uses the default. If it’s the latter, this would mess Looker up), or
- Everyone remembering to not create their Pull Request against
master. We end up fighting with tools when we should be building stuff.
I would think it’s a pretty simple feature to add, and it would allow people to apply the GitFlow branch management strategy to Looker.