title: Branching strategy for major redesign
body: <p>I'm wondering what the best branching strategy is for this scenario.  My company is planning a major rewrite of their web application that will change about 50% of the code and may take a few months.  While, this development is taking place, we will also need to do smaller enhancements to the current version of the app.</p>
  
  <p>I was thinking about developing the rewrite on trunk and creating a branch for the current version.  As we need to make changes to the current version, we make them on the branch and then merge them into trunk.  After the rewrite is complete, it will already have all the changes from the branch merged into it, so it will be ready to be released.  Any opinion on whether this is a good strategy, or if there is a better one?</p>