Thank you for your detailed description! I think I've reproduced your description in the following script on the command line using Subversion 1.14.2. To be able to "edit" on the command line, I've made a few pre-edited files and I'm just copying them into place. The script should be easy enough to update to run under Unix.
[[[
:: Step 1: Create trunk
svnadmin create repo_merge
svn co file:///c:/devel/temp/repo_merge wc_merge
cd wc_merge
mkdir trunk
svn add trunk
mkdir branches
svn add branches
svn ci . -m "Step1: Create trunk"
:: Step 2: Add & commit two images & txt file
mkdir trunk\Assets
copy ..\main.txt trunk\Assets
copy ..\black.png trunk\Assets\Hi.png
copy ..\grey.png trunk\Assets\Hi2.png
svn add trunk\Assets
svn ci trunk\Assets -m "Step 2: Add assets in trunk"
svn up
:: Step 3: Create a branch
svn copy file:///c:/devel/temp/repo_merge/trunk file:///c:/devel/temp/repo_merge/branches/DLC1 -m "Step 3: Create branch DLC1"
svn up
:: Step 4: In trunk: Edit both images and add some link in the text file
copy ..\main2.txt trunk\Assets\main.txt
copy ..\maroon.png trunk\Assets\Hi.png
copy ..\red.png trunk\Assets\Hi2.png
svn ci trunk\Assets -m "Step 4: Modify assets in trunk"
svn up
:: Step 5: Edit text in DLC1, avoid conflict with trunk
copy ..\main3.txt branches\DLC1\Assets\main.txt
svn ci branches\DLC1 -m "Step 5: Edit text in DLC1 without causing conflict"
svn up
:: Step 6: In DLC1, merge from trunk
svn merge ^^/trunk branches\DLC1
svn ci branches\DLC1 -m "Step 6: Merge trunk to DLC1"
svn up
:: Step 7: In trunk: Change Hi.png and Main.txt (but leave Hi2.png alone)
copy ..\main4.txt trunk\Assets\main.txt
copy ..\orange.png trunk\Assets\Hi.png
svn ci -m "Step 7: Change hi.png and main.txt"
svn up
:: Step 8: In trunk, merge from DLC1
svn merge ^^/branches/DLC1 trunk
svn ci -m "Step 8: Merge DLC1 to trunk"
svn up
:: Step 9: In DLC1, delete hi2.png
svn del Branches\DLC1\Assets\Hi2.png
svn ci -m "Step 9: Delete Hi2.png from DLC1"
:: Step 10: In DLC1, merge from trunk
svn merge ^^/trunk branches\DLC1
:: Boom,. tree conflict
]]]
The error message is:
[[[
C:\Devel\temp\wc_merge>svn merge ^^/trunk branches\DLC1
--- Merging differences between repository URLs into 'branches\DLC1':
U branches\DLC1\Assets\Hi.png
C branches\DLC1\Assets\Hi2.png
U branches\DLC1\Assets\main.txt
--- Recording mergeinfo for merge between repository URLs into 'branches\DLC1':
U branches\DLC1
Summary of conflicts:
Tree conflicts: 1
Searching tree conflict details for 'branches\DLC1\Assets\Hi2.png' in repository:
Checking r9... done
Tree conflict on 'branches\DLC1\Assets\Hi2.png':
Changes destined for a file arrived via the following revisions during merge of
'^/trunk/Assets/Hi2.png:7-9':
(no revisions found)
No such file or directory was found in the merge target working copy.
'^/branches/DLC1/Assets/Hi2.png' was deleted in r9 by danie.
Subversion is not smart enough to resolve this tree conflict automatically!
See 'svn help resolve' for more information.
Select: (p) Postpone, (r) Mark as resolved, (h) Help, (q) Quit resolution: p
Summary of conflicts:
Tree conflicts: 1
]]]
The problem only occurs when merging without a specified revision. Cherry-picking each of revisions 6 to 9 or merge them all together (-r5:9) works, confusingly even -r1:HEAD works fine(!?!):
[[[
C:\Devel\temp\wc_merge>svn merge ^^/trunk branches\DLC1 -r1:HEAD
--- Merging r6 through r9 into 'branches\DLC1':
U branches\DLC1\Assets\Hi.png
U branches\DLC1\Assets\main.txt
--- Recording mergeinfo for merge of r6 through r9 into 'branches\DLC1':
U branches\DLC1
]]]
The same trick can be applied in TortoiseSVN, specifying the revision range 1-HEAD in the input box.