We crated two branches from the trunk (using TortoiseSVN) … branch USER and branch PRODUCT
In branch PRODUCT we are working on some new features. (day 1)
In branch USER we correct bug/error as reported by customer. (day 2)
Within a few days, we fixed branch USER and merged back into trunk (day 4)
tested and merged to trunk and made live
Within a few weeks, we finished PRODUCT features and merged back into trunk. (day 10)
We received several conflicted files.
After several hours of trying to fix the errors, I completely messed up the trunk.
We had to re-do coding and kill SVN and re-create the repository.
Very frustrationing .. and we lost a lot of time.
Is there instructions on ‘re-reintegration’ or ‘updating’ a BRANCH from TRUNK?
Honestly, I dont even know the write questions to ask, as I dont know what process
we needed to perform!
After some playing around and getting some reading/asking questions, there is the process I used:
Start development in your Trunk.
You have reached a stage where you want to branch out and start a different development over the branch. You always branch out from the Trunk.
Lets consider an example, we create two branches Users and Products, both from the Trunk.
Simultaneous development happen on both the branches Users and Products.
Now there comes a stage when development on the branch Users is done. So you re-integrate the branch Users back to Trunk. Testing happens on Trunk and for deployment you use the code in the Trunk.
At this stage Users branch is re-integrated with the Trunk, but still Products branch is as it is.
Users code has been re-integrated with the Trunk and deployed successfully. So now the Trunk has the Users code also. So this code should be merged with the Products branch.
Now the Products branch has the Users code plus the changes that were worked upon in the Products branch itself.
Once the development in the Products branch is done, it can be re-integrated with the Trunk.
Now the Trunk has the code from Products branch and the Trunk is up to date and ready to be deployed to the live server.
I hope this helps others.