You can use svnsync to clone the repository locally. svnsync doesn't need any additional level of access than what you already have and you'll end up with a full copy of the repository. Note that if the repository is large this could take some time.
svnsync is documented in the svnbook here:
http://svnbook.red-bean.com/en/1.7/svn.ref.svnsync.html
The general process will be.
Create a new repository:
svnadmin create mirror
Initialize the sync (where URL is your Google code repository root):
svnsync initialize file://`pwd`/mirror $URL --source-username user --source-password pass
You can then update the sync to match the current repo with:
svnsync synchronize file://`pwd`/mirror
Note that the file I'm using the pwd
command in the URL you can use the full path if you want so you don't necessarily have to stay in the same directory.
You can then relocate your existing working copy to use your local mirror with (where WC is your working copy path and URL is the URL to the Google code repo):
svn switch --relocate $URL file://`pwd`/mirror $WC
Returning back to the Google Code repository is then as simple as (where URL is the URL to your Google code repo):
svn switch --relocate file://`pwd`/mirror $URL $WC
If you want to continue syncing from the Google code repo I wouldn't commit. However, if you had no intention of updating you could commit and then do a svnadmin dump
limited to the versions you changed on your local repo and use svnrdump load
to send them to the Google code server.
git-svn is another option. But the above should be able to be done with an existing installation of SVN.