Hello, In a quick test, we have a project which has the following structure:
/trunk/project/subfolder/file Next, we create a branch from /trunk/project to /branches/project/branch1/ We edit file on trunk a first time, changing line1 and commit Inside branch1, we do a merge from trunk. This creates mergeinfo on /branches/project/branch1 We edit file on trunk a second time, reverting line1, changing line2 and commit Inside branch1/subfolder, we do a merge from trunk/subfolder. This last step ignores the mergeinfo on /branches/project/branch1/ and merges all revisions again since we made the branch. I thought inherrited mergeinfo would be used here to see that a first part of the revision range did not need to be merged again. However, this does not happen. The result is that we merge the combination of the 2 edits, which is only changing line2. However, we had already merged the change to line1, so the revert on line1 should have been merged too. See attachment for a reproduction scenario. Is this scenario supposed to be handled by SVN ? We are in a corporate environment, using 1.5.1. Is the above scenario known to be handled correctly in later versions? Is it a known issue? Do I try something which is not supported by SVN? Kind regards, Pieter-Jan Busschaert
mkdir mergetest cd mergetest mkdir trunk cd trunk mkdir subdir cd subdir echo "line1 00" > test.txt echo "" >> test.txt echo "line2 02" >> test.txt echo "" >> test.txt echo "line3 01" >> test.txt cd .. cd .. svn import https://<URL>/mergetest cd .. rm -rf mergetest svn co https://<URL>/mergetest mergetest cd mergetest svn up svn cp https://<URL>/mergetest/trunk https://<URL>/mergetest/branch svn up cd trunk/subdir echo "line1 00" > test.txt echo "" >> test.txt echo "line2 02" >> test.txt echo "" >> test.txt echo "line3 02" >> test.txt svn ci cd ../.. cd branch svn merge https://<URL>/mergetest/trunk svn ci svn propget svn:mergeinfo . cd .. cd trunk/subdir echo "line1 00" > test.txt echo "" >> test.txt echo "line2 03" >> test.txt echo "" >> test.txt echo "line3 01" >> test.txt svn ci cd ../.. cd branch/subdir svn propget svn:mergeinfo . svn propget svn:mergeinfo .. svn merge https://<URL>/mergetest/trunk/subdir svn propget svn:mergeinfo . svn propget svn:mergeinfo .. svn ci cd ../..