We are using mercurial in a single repository. We have a master branch and a develop branch (as well as feature branches, but they aren’t germane to the issue at hand).
We tag the master branch with releases (5.1.0.102, etc). We do our development on develop.
But now we want to fix a bug in a previous version. There are a lot of questions here on SO about this issue, but none of them seem to explain what I want to do.
What I want to do is this:
- Update to the point where we released (say 6.1.1)
- Fix a number of bugs in that release
- Label that resulting code state as (6.1.2)
- Do a build of this new 6.1.2 codebase.
- Migrate those fixes into the
developbranch - Do this in such a way that I can go back to 6.1.2 and fix bugs there if need be.
I can’t seem to do this via updating. I tried to update to the 6.1.1, create a branch, and go from there, but that brings in the tip of the master branch, including all subsequent changes.
Is there a standard way of doing this? Did I explain that correctly so you guys get what I need to do? It seems like this is a pretty common thing to do.
You don’t need to explicitly create a branch. The way I would do it is this:
If you need to make more changes, then simply repeat the above but using the 6.1.2 tag in the master branch.