Because a push to your branch would immediately update that branch.
So we needed to use a different namespace to imply "this should be a
code review".
> confuse people. If I were to imagine how I'd expect it to work, there
> would be some configuration option for each project to choose whether
> a push to the 'raw' branch is a push to refs/for/x, refs/heads/x or is
> just not allowed at all.
This is a good idea, and isn't something I considered before. It may
be a relatively simple change, but since it adds new project
configuration data might be something we should do after the git-store
topic gets merged, rather than before.
Although in Android it will break some of our tools. Google uses an
auto-merger robot that directly pushes merges into branches, while
developers are uploading to those branches for code review (and cannot
direct push). So this almost needs to be a bit more options:
- not allowed at all
- always makes code review
- makes code review if not allowed direct push; updates branch if
direct push allowed for user
- always update branch, fail if user not allowed to direct push
And our branches would want that 3rd option.