Description
Subversion failed to do "svn merge" between two branches in repository if one branch have directory removing as part of merged changes and this directory resides in a directory, missing into second branch. I've prepared .bat script (tested on win2k and subversion 0.33.1) to demonstrate a problem: ------------------------------------------------------------------- svnadmin create d:/svn/test svn co file:///d:/svn/test cd test svn mkdir trunk svn ci -m "Create top-level trunk dir" svn mkdir trunk/A trunk/A/B svn ci -m "Add files" svn cp file:///d:/svn/test/trunk file:///d:/svn/test/branch -m "Create branch" svn up svn rm branch/A svn ci -m "Remove A dir on branch" svn rm trunk/A/B svn ci -m "Remove A/B dir on trunk" cd branch svn merge file:///d:/svn/test/trunk -r4:5 ------------------------------------------------------------------- Here is log of execution of this script: ------------------------------------------------------------------- D:\>svnadmin create d:/svn/test D:\>svn co file:///d:/svn/test Checked out revision 0. D:\>cd test D:\test>svn mkdir trunk A trunk D:\test>svn ci -m "Create top-level trunk dir" Adding trunk Committed revision 1. D:\test>svn mkdir trunk/A trunk/A/B A trunk\A A trunk\A\B D:\test>svn ci -m "Add files" Adding trunk\A Adding trunk\A\B Committed revision 2. D:\test>svn cp file:///d:/svn/test/trunk file:///d:/svn/test/branch -m "Create branch" Committed revision 3. D:\test>svn up A branch A branch\A A branch\A\B Updated to revision 3. D:\test>svn rm branch/A D branch\A\B D branch\A D:\test>svn ci -m "Remove A dir on branch" Deleting branch\A Committed revision 4. D:\test>svn rm trunk/A/B D trunk\A\B Committed revision 5. D:\test>cd branch D:\test\branch>svn merge file:///d:/svn/test/trunk -r4:5 svn: Working copy not locked svn: directory 'A' not locked ------------------------------------------------------------------- I've raised priority of this issue from default P3 to P2 because this bug prevent merge to work at all in such situations.
Original issue reported by flying