I currently have a large (30K commits) SVN repository that I am in the process of converting to git. Our codebase currently has a common (Core) set of code, as well as two s
You won't get that exact directory structure with submodules, because each one will be in its own directory within the parent repo.
Ie, you would get
Java
+
+-->public_html
*-->Core
+
+-->public_html
(Instead of one mixed 'public_html
')
I would still recommend submodules (and you can make modification directly in them, as explained in the "True nature of submodules").
However keep in that git submodules are quite different from svn:externals.
Once you have checked-out the Java repo (with a reference in it to the Core repo), I would re-create the correct directory structure with symlinks (available on Unix or Windows).