Using git-svn (in ArchLinux)

Preparing ArchLinux for git-svn

To use git-svn, we need to install some packages. Although the commands and the packages are specific for Arch, they might/will give a hint for what to install on other platforms as well.

Open a terminal and install git, subversion, and pert-term-readkey:

sudo pacman -S git subversion perl-term-readkey

git is used for… well… GIT. Subversion provides git the possibility to manage an SVN repository. FInally, perl-term-readky helpt git to work with svn repositories protected by passwords.


GIT has a graphical interface ready for you. It depends on the tk toolkit. Install the tk toolkit by

sudo pacman -S tk

and type gitk for the graphical interface.


My workflow

I based my workflow on the tips from these websites: 1, 2, 3, 4, 5.

/* Checkout the repository */
git svn clone -s <path to repository>

/* Build your .gitignore file (add other ignores, see */
git svn show-ignore >> .gitignore

/* Create a new branch */
git checkout -b feature-branch

/* Work work work */
git add -A
git commit -m "Implementing super-awesome feature!"

/* Now to be sure I still have the latest code from SVN */
git checkout master
git svn rebase

/* Now I rebase my feature branch so that it has the latest... */
git checkout feature-branch
git rebase master

/* And finally, I push my changes to SVN. */
git svn dcommit

/* And I'm done! */
git checkout master
git svn rebase
git branch -d feature-branch

A small note on branching

I had the issue where I created a local (git) branch, but then decided to check it in into SVN as a (remote svn) branch. The answers to this… and the prefered way of planning to branch before doing so… are described here.