Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
oneway git->svn sync
#!/bin/bash
SVN_HOST="https://svn/path/to/repo"
git checkout master
git pull --rebase
git config --local svn-remote.svn.url "${SVN_HOST}"
git config --local svn-remote.svn.fetch ":refs/remotes/git-svn"
git config --local svn.rmdir true
git svn fetch
git reset --hard HEAD
git branch -D temp-svn
git checkout -b temp-svn remotes/git-svn
git merge --log --stat -X theirs master
git checkout master -- . # resolve unmerged paths
[ -f .git/MERGE_MSG ] && git commit -F .git/MERGE_MSG
git svn dcommit && git checkout master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.