Why does code migration happen at all? Create a migration!
For over 4 years we have used only branches. We took the trunk and made our first branch, called RB-2013.07.0.x. This branch is a branch of Release for July 2013. We locked the truck, so no one could make changes to it. All changes were made to RB-2013.07.0.x. As soon as the July release was completed, we blocked RB-2013.07.0.x, so there were no changes in it.
At the same time, we also created an affiliate RB-2013.09.0.x for the September release from Trunk. The developers worked on the September release, working on the July release.
After the release of July in PROD, we combined RB-2013.07.0.x into RB-2013.09.0.0.x. We never returned to the Trunk. We never migrated anything. And after 4 years we never lost any code, and when you looked at the project, you knew exactly what the branch was for.
If you have a problem with prod (hot fix), you should take the current version of prod - say RB-2013.07.x and create a branch RB-2013.07.1.x, make changes, deploy to prod, lock the branch and merge the branch into the upper ones branches - RB-2013.09.0.0.x. Thus, you will have everything up to date.
Keep in mind, every assembly we made, we created a TAG and saved it in the TAGS directory.
In the lines we made, we added the version number from SVN to the last part of the build number.
The build will go from the developer to check before UAT / pre-prod and then to prod. If you want to know what code was in each assembly or branch, go to SVN and retrieve the list of logs.
Ken morrow
source share