Recently, I came across a particularly sticky problem associated with obtaining the result of a merger in subversion. Our Subversion server is @ 1.5.0, and my TortoiseSVN client is now @ 1.6.1.
I am trying to merge a function branch back into my chest. The merge seems to work fine; however, the commit fails with the following error message.
Commit failed (details follow): File 'flex/src/com/penbay/invision/portal/services/http/soap/ReportServices/GetAllBldgsParamsByRegionBySiteResultEvent.as' is out of date '/svn/ibis/!svn/wrk/531d459d-80fa-ea46-bfb4-940d79ee6d2e/visualization/trunk/source/flex/src/com/penbay/invision/portal/services/http/soap/ReportServices/GetAllBldgsParamsByRegionBySiteResultEvent.as' path not found You have to update your working copy first.
My working trunk is updated. I even checked the new one in a different folder to make sure there was no local merge torsion mess. I did some more research on this, and I think part of the problem is user error. I think our problems are:
- We had some developers who work with the subversion client before 1.5 and after. I believe that this could lead to corruption of the merger information.
- In other branches, we performed partial merges. That is, we did not always perform mergers at the root of the branch. This should have made it easier to update Flex and .NET efforts in the same branch.
- We performed circular (reflective) mergers on our branch. This was done because we had several parallel branches, and we wanted to periodically update our branch with the latest code in trunk.
All of these things are clearly not recommended by the Subversion book / team. We learned our lesson and now know the best practices. However, first we need to merge and move our last branch.
What is the best way to fix the problems we face?
Would deleting all merge information in the trunk and branch a viable solution? No. I did this, but it does not resolve the error that I get above.
merge svn commit
Ryan Taylor May 04 '09 at 12:32 2009-05-04 12:32
source share