6 Sep 2007 zeenix   » (Journeyer)

git-svn quirks

Although git is a little more than perfect now a days (git >= 1.5), git-svn however has a few quirks. Lately I got into a few frustrating problems and it turned out to be caused by how git-svn bridges the two very different worlds. What happens is that when you `git-svn rebase` (which is implicitly implied in `git-svn dcommit`), git-svn modifies the commit messages to contain an id, a git-svn-id to be precise using which it track down stuff like which latest commits haven't been committed to upstream svn repo etc. To cut the story short, here are is my advice for people who want to use git-svn on regular bases and branch (which they should):

  1. To make life simple, only have one branch sync with upstream svn repo (master branch is the most obvious choice).
  2. `git-rebase master` your branches each time after a `git-svn rebase` happens (implicitly or explicitly).
  3. Don't ever try to merge a branch once you have done that already and did a `git-svn dcommit` after you first merged it, unless you have followed point#2 above.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!