title: how do I manage source code using SVN? branching, merging
body: <p>We are team of 4 developers/friends located in different locations. We all have started working on the a ProjectX and created branches A, B, C and D using Subversion.</p>
  
  <p>we have just basic knowledge of version controlling the source code. Other day one of us just tried to merge Branch A with B,C, and D and B tried to merge with A, C, and D. (and they didnt even know how to merge it :D, just right click > merge > merge a range of revisions) We got some conflicts, solved them. Tried merging again, again right click .....) Conflicts again. </p>
  
  <p>Now that all of the code has been messed up. we are having 4 different code copies (D missing B's functionality but having C's etc etc). So I went through lots of threads here on SO, read the SVN book and especially <a href="http://blog.eleutian.com/2008/04/02/HowToBranchProperly.aspx" rel="nofollow noreferrer">this article (how to branch properly)</a> helped a lot in understanding how to merge branches and trunk. I think I have got a better understanding for the future. But how do I get out of current situation??</p>
  
  <p>My questions are: </p>
  
  <ul>
  <li>As 4 of us are working on same project but usually work on different bits, should we just have one branch?? and then create 4 working copies and then commit and update only. Once we are ready merge trunk to branch, branch to trunk? as per suggestion in the <a href="http://blog.eleutian.com/2008/04/02/HowToBranchProperly.aspx" rel="nofollow noreferrer">above article</a></li>
  <li>Can you please suggest any work-flow so that we can get our 4 branches to the trunk and then I can take an export to start the version controlling from scratch again. </li>
  <li>Also I think if go again with 4 branches, should each of us daily/regularly update our branch and get changes from trunk (merge) and merge local changes back to trunk?? (instead of trying mergin branch to branch :-D)</li>
  </ul>
  
  <p>Please suggest what work flow we should use? so that its a minimum pain in maintaining code. Thanks.</p>