If we have a source control branch that we use to stop features and bug test (including additional commits on this branch to fix said bugs), what should it be called?
Is "Release Candidate" appropriate?
My thoughts are that such a branch would be called "Release" and that using the word "candidate" implies it is immutable. You can have candidate 1 and candidate 2, but those specific candidates should never change; ie. candidate 1 wouldn't have any commits, that would modify it in any way.
Links or examples would be great, as the person I was discussing this with is very hard headed.
Related question: Is there any specification for promoting a release candidate? (covers how finished RC can be considered)
It can still be considered as a final integration step (and in that, "not immutable"):
This is where you are still:
You can consider "RC" as being even more stable that I just described, but you could still fix show-stopper bugs.
In that sense, you wouldn't have "candidate 1" and "candidate 2" (simultaneously). RCs are usually sequential.
Then, a "Release" branch is for post-production (hot-fixes, and release maintenance).
It freezes the sate of the application when going into production, and uses that at a starting point to maintain what is into production.
In short:
You should be expected to add commits. In any branch.