Git is my favourite source control system but unfortunately some companies still use historic subversion repos that we have to put up with. This is my basic workflow when dealing with svn.
Importing the repo
Cloning the svn repo to git:
git svn clone https://address/to/svn/repo
For a very large repo this periodically failed with:
error: git-svn died of signal 13
To continue from the same spot just run:
git svn fetch
This happened quite a few times when cloning from a slow server that took all day.
Note that git-svn doesn’t recursively clone svn externals (nested repositories). There are a few complex solutions on stackoverflow, haven’t picked my favourite yet.
Instead of a
git pull I do:
git stash; git svn fetch; git svn rebase; git stash pop
For simple projects I think a major advantage of git is the ability to easily queue commits from the command line. I use my normal process of the interactive prompt to add files and a commit message:
git add -i
git commit -m "Message"
Then instead of a
git push I do:
git stash; git svn dcommit; git svn rebase; git stash pop