I’ve been running into problems with git-svn, and in searching for a solution I stumbled across this page, in which the author decided to simply use both git and svn, since they both hold all of their important information in .git and .svn directories.
I suspect the main problem with this type of workflow is coordinating between svn and git, and making sure that the updates/commits happen in lockstep. So I thought of having a workflow along these lines:
git init
svn checkout https://svn.myplace.com
add .svn to .gitignore
git add .
git commit -m 'Initial Commit'
git checkout -b working
hack, commit, hack, commit, hack, commit
git checkout master
svn update
git add .
git commit -m 'svn update'
git merge working master
fix possible conflicts
svn commit
wash, rinse repeat
If I stick to this workflow (and of course using other fancy git features), are there any issues that might bite me, or does this seem pretty reasonable (based on the fact that the repos here at work are all Subversion, and I’m not in charge of those decisions)?
I used a similar approach (as detailed here) for about 5 months without any real problems.
It does require some discipline, but if something bad happens you can always ditch the git repository and start again.