OK well I think I finally sorted this one in the end it comes down to using git svn Firstly I added each svn project as a remote in git by editing the .git/config file. I gave them each a different remote name and alias.
/...
[svn-remote "parent"]
url = svn://example.com/rootproject
fetch = rootproject/trunk:refs/remotes/origin/trunk
branches = rootproject/branches/*:refs/remotes/origin/*
tags = rootproject/tags/*:refs/remotes/origin/tags/*
[svn-remote "subproject1"]
url = svn://localhost/rootproject
fetch = subproject1/trunk:refs/remotes/subproject1/trunk
branches = subproject1/branches/*:refs/remotes/subproject1/*
tags = subproject1/tags/*:refs/remotes/subproject1/tags/*
[svn-remote "subproject2"]
url = svn://localhost/rootproject
fetch = subproject2/trunk:refs/remotes/subproject2/trunk
branches = subproject2/branches/*:refs/remotes/subproject2/*
tags = subproject2/tags/*:refs/remotes/subproject2/tags/*
[svn-remote "subproject3"]
url = svn://localhost/openvpms
fetch = subproject3/trunk:refs/remotes/subproject3/trunk
branches = subproject3/branches/*:refs/remotes/subproject3/*
tags = subproject3/tags/*:refs/remotes/subproject3/tags/*
..../
etc
then I ran
git svn fetch --all
This checked out each project into the root of the git repo Now to restructure I checked out
git checkout origin/trunk
then ran for each sub project
git merge -s ours --no-commit subproject1/master <2>
git read-tree --prefix=subproject1/ -u subproject1/master <3>
git commit -m "Merge subproject1 as our subdirectory" <4>
I now had a project that looked like
ParentProject
|-src
|-parentpom.xml
|-subproject1
| |-src
| |-pom.xml
|-subproject2
| |-src
| |-pom.xml
|-subproject3
| |-src
| |-pom.xml
etc
Now I think I can still run
git fetch --all
then run
git pull -s subtree subproject1 trunk
to update and pull changes from the base svn repos..however given this represents a move to stay with git while keeping all the svn history this should work for me.