Saturday, September 25, 2010

Git+SVN Screencasts

This post is part of a series on Git and Subversion. To see all the related posts, screencasts and other resources, please click here

In preparations for presenting "Living with Git and Subversion in parallel" at GearConf in a few weeks, I've been practicing a Git+SVN exercise, going through all the steps from Git-cloning a Subversion repo, to full centralized Git-SVN mirror.

While I was doing this, I figured I might as well make some more use of this, and record some screencasts as I go along. I've just posted the first three on YouTube, and collected all my various works on Git and Subversion on this page.

Feedback is much appreciated!

Update: I'll try embedding the videos here on the blog too:


Git+SVN #1: Cloning a repo



Git+SVN #2: Some commits back and forth


Git+SVN #3: Conflicts

4 comments:

  1. Nice videos. I hope to get a better understanding of merging and rebasing as you progress through the videos.

    BTW: My experience is that once you get used to the syntax, editing merge conflicts manually is usually pretty simple, while merge tools sometimes makes a total mess out of the situation.

    ReplyDelete
  2. Thanks for the comment, Johannes! I wasn't planning on going to deep into the field of merging and rebasing, most of all because living with Subversion forces you to basically drop the notion of doing any merges. Also, my rebase/merge understanding isn't totally there yet. I recommend you have a look at Kristian Rosenvold's "Git-fu!" talk from JavaZone.

    ReplyDelete
  3. You can do merges with git-svn...

    git checkout mybranch
    commit changes
    commit changes
    git svn dcommit
    git checkout trunk
    git merge --squash mybranch
    git commit -m "Merging mybranch into trunk"
    git svn dcommit


    --squash is the key

    ReplyDelete
  4. Thanks for the comment! Indeed, working in a branch for some time, and then squashing it back is a "rythm" many of my colleagues find very practical when working with git-svn. As long as history ends up linear in the end, you can do what you want :)

    ReplyDelete