Recently, I forgot to merge changes from trunk to our maintenance branch. This caused us to rebuild - twice - and put QA on hold for two days while we fixed the mess.
Normally, when committing to both branches, I commit a single changeset to trunk, and immediately merge it over to the maintenance branch.
However, this time there were 12 changesets spanning many code review changes, and I failed to merge all of the changes over. I had only merged one change over, which completely threw me off - I thought I remembered it was a rollup commit of all of the other changesets, but it wasn't.
After some development discussion, we decided that the best approach would be to make 1-to-1 trunk and maintenance branch commits, so you could visually verify that all of the code was there.
Is there a way to enforce changeset commits for a given fix-for version?
We use JIRA, Fisheye, and Crucible, and our Fisheye workflow won't let you resolve an issue unless the code reviews are complete. I'd like something similar that enforced parallel checkins on trunk and maintenance branches, based on the fix-for version specified in the issue.
Or is there a better solution to this whole mess besides "don't do that"?