It also has some really cool features like "rebasing" for letting your branch actively track the trunk from which you branched it.
Unfortunately, rebasing doesn't seem to be stable yet. Sometimes it works for me, sometimes not. I don't know whether its because I don't know what I'm doing, bugs in git, or changes in the calling syntax.
Not to diverge py-dev too far into the depths of DRCS usage, but are you doing anything particularly complex ? While I wouldn't say I do it regularly, I certainly consider it part and parcel of general git usage, and I've always found it works well for me. Rebasing is one of the features that really convinced me git was a cut above the rest, obviously along with the ease of merging. For those that are interested the ultra brief explanation for git branching is that it stores all your branches in the one directory structure. You "git checkout" to switch between branches, which causes all the managed files in your directory to be changed to reflect the state branch you are changing to.