CVS branch and merge routine for dev and hot fixes in production
===

Looking to see if this strategy is good.
I tag HEAD, "tagA", which is the latest production version.
Then I branch at tagA, "branch1"
Development goes on in branch1.

A hot fix needs to be done in production, so I make another branch off of tagA, "hotFix1".
After the changes in hotFix1, hotFix1 is merged into tagA.
Another tag is made at this point, "tagB".

Later, branch1 needs to be merged, so I merge branch1 into tagB.
I need to manually inspect each file at this point, because if I just merge, the changes in hotFix1 will get clobbered.
I need to manually go through each branch1 file and make sure hotFix1 changes do not get clobbered.

When done, I tag again, "tagC", and repeat the process.

Is there a better way with CVS?