title: Subversion Branch/Trunk Best Practice - keeping Branch Up-to-Date?
body: <p>My development team has worked with subversion for quite some time.  The way that manage the trunk and branches is as follows:</p>
  
  <ul>
  <li><p>We (almost) always release from the trunk</p></li>
  <li><p>Each release gets its own branch.</p></li>
  <li><p>When a release is ready for QA, we merge the branch back into the trunk and create a new branch for the next release.</p></li>
  <li><p>Developers work off of either the trunk or the branch, but there are no developer-specific branches.</p></li>
  </ul>
  
  <p>Lately, we have had some nightmare merging sessions, in part due to some major changes to the application.  These don't always go smoothly and issues sometimes pop-up during QA where subversion did not merge quite right.</p>
  
  <p>One solution might be to merge trunk changes into the release branch on a regular basis, say weekly, to ensure that the most up-to-date trunk changes are in the branch.  Conflicts can then be fixed in closer to real-time.</p>
  
  <p>What is your experience with this issue?  Is there a standard best practice?  Also, do you have a good way of keeping track of which revisions have been merged into the branch (decent comments in subversion could probably handle that).</p>