For all the others who also know how to operate but don't really know how to administrate a SVN, here is what finally worked for me:
First I followed @alroc's suggestion to restructure the original repo via client-side by using the standard SVN commands and moving the old content into the newly created trunk (thx and +1 for that!). Result:
[root]
-trunk
-<subfolder1>
...
-<tmpfolder>
-<project1>
-trunk (old content moved here)
-branches
-tags
-<project2>
-...
After that I exported my repo via svnadmin dump
and tried to filter out the content of my tmpfolder via svndumpfilter --drop-empty-revs --renumber-revs include tmpfolder < DUMP_FILE > FILTERED_DUMP
but I got the following error
svndumpfilter: Invalid copy source path '/trunk/oldfolder/oldsubfolder'
because of the now missing links to the original locations which got lost during restructuring.
To get around this I've tried the following solutions
- added the
exclude [res1] [res2] [...]
switch to the svnadmin dump
command - same error
- added the
--skip-missing-merge-sources
switch to the svnadmin dump
command - same error
- added the
include [res1] [res2] [...]
switch to the svnadmin dump
command - filtering works but same error as above while importing
Finally I found someone with the same problem here who mentioned the use of svndumpfilterIN. After downloading this file to the original-repo server (and adding the right to execute) I executed it with the following command:
python svndumpfilter.py ORG_REPO_DUMPFILE -r ORG_REPO_LOCATION -o FILTERED_DUMP_NAME include tmpfolder
.
This tool found all missing links via the specified ORG_REPO_LOCATION
and untangled all dependencies while giving new and clean revision numbers for the filtered dump for me to import.
The only downside was that there was an unnecessary parent folder (tempfolder) I didn't want so I moved all projects into the root of the original-repo and renamed the original-trunk into trunk2 to be able to exclude it in the svndumpfilterIN-tool.
[root]
-trunk2 (renamed)
-<subfolder1>
...
-<project1>
-trunk
-branches
-tags
-<project2>
-...
Lastly I filtered via python svndumpfilter.py ORG_REPO_DUMPFILE -r ORG_REPO_LOCATION -o FILTERED_DUMP_NAME exclude trunk2
and imported this filterd dump into my new repository with svnadmin load
.