Project of the day was to revive an old SVN repo project and get some changes made.
I no longer have all of the mod-svn+apache stuff working and didn’t want to work on that.
I did have an “svnadmin dump” of the old SVN repo though. The project name is emissary.

  1. cd /tmp; svnadmin load emissary < emissary.dump
  2. cd ~/projects; git svn clone file:///tmp/emissary -t tags -b branches -T trunk emissary
  3. cd emissary; ant all test
  4. Converted branches to tags, Removed some obsolete branches, using git branch -r -d
  5. add “github” stanza to .git/config, and create the empty repo on github.com
  6. git push github
  7. git push –tags github

Double plus un-bad.

That’s what I wish I had done, anyway. Turns out git saved the bacon in more ways
than one. Initially I didn’t read the man page for “git-svn” far enough to get
the tags, trunk and branches. Started hacking on my shiny new git repo and did
a half-day’s work, committed, pushed to github, then realized I didn’t have any
of the historical tag info from svn. Bummer.

Here’s what I did at that point.

  1. git svn dcommit
  2. remove and recreate the git repo using the proper clone command
  3. verify all work still in place — yes it is!
  4. remove and recreat the github repo

Thanks, git.