I use Mercurial/TortoiseHg as my source control.
So far I have a single app and just about to finish the version 1.0. Once V 1.0 goes live, we already have features lined-up ready to be programmmed for the next version.
It is a phone app and right now V1.0 will be free but might want to make V2.0 paid and also later might make some minor bug/fixes updates to Free version.
I am not sure how the bug fixing will work while V2.0 is in progress.
My question is:
Do I need to fork or branch my repository from the point of V1.0 or I simply keep adding features to my current repository?
Whatever I need to do, I would also like to know why I need to do that.
Thanks.
I’d do the following:
Tag the revision that you release as v1.0
Make a branch for any bug fixes that will go on top of that. This could be when you release V1.0, or when you have the first bug fix for it.
Go back to the default branch to continue development of v2.
When you’ve got a bug-fix for v1
Then merge forward bug fixes from v1.x to v2.x
You create new tags as you do new releases. The
release_v1branch just keeps going, accumulating bug fixes, being merged intodefault(your development branch) when necessary. Just make sure you’re on the default branch when you merge as that determines which branch name the merge change-set has.Editted to add that this is a variation on the
stable/defaultwork-flow that someone else mentioned, but I like to have a branch for each major release as then I can have more than one major release accepting bug fixes.