SVN in emacs vs. TextMate
Wednesday 15 July 2009 - Filed under Uncategorized
Some responses I got to my post about SVN workflow pointed out TextMate’s SVN integration. It looks like I could do what I want in TextMate, but it didn’t look as smooth as the dedicated clients, and I might be wrong but it gave the impression that I couldn’t set it all up without a lot of mousing around. Since I’m an emacs addict, I’m probably not going to give TextMate a real try, but in this case I think there’d be no reason to. I’ll explain why.
It’s not hard to get the layout I want in emacs with VC-mode. I put a screenshot below. On the left is a window (the whole OS window is an emacs “frame”) with dired under VC – the directory edit mode showing what’s modified. I’ve marked two of them so I can commit them together. In the middle I’m viewing the diff for one of the files, and on the right I’m editing the log entry for the entire commit. I can change things around without losing my log message – view other diffs, make edits, etc.
The only real problem I have with this is that it takes a bit of manual window setup every time to get to this arrangement and clean up the diff buffers, and that the display could be nicer. Cornerstone fixes the display issue, and if it (or another SVN client) got the workflow right, it’d fix the first.
I wrote an emacs function once to do that setup automatically. I called it vc-checkin-mike, and it got about 80% of the way there. Enough to feel like I’d spent too much time on it, but not enough that I wanted to use it.
As far as I can tell from screenshots, TextMate is roughly in the same spot as emacs – I can do what I want but it takes a bit of manual setup, and it’s not as pretty as the dedicated clients like Cornerstone.
2009-07-15 » mike

15 July 2009 @ 11:50 am
Hi Michael, interesting post, just a little question, which version/flavor of emacs are you using? Thanks, Christophe
15 July 2009 @ 12:03 pm
Christophe, I use GNU emacs, not XEmacs, and the screenshot is from Aquamacs, but I use many versions, including emacs inside a terminal, Carbon Emacs, and a version built for X11 and GTK+ on the mac that I compiled from source.
Lately I’ve been using Aquamacs most, but there are things I don’t like about it. I liked the GTK+ UI of the X11 version, but couldn’t get it to display Mac fonts in the 1 hour I gave myself to try last year.
16 July 2009 @ 4:04 pm
TextMate’s SVN bundle needs no manual intervention whatsoever. Just open a folder under SVN control, and you’re set. Install the Project Plus plugin if you want to see SVN status in the drawer.
16 July 2009 @ 6:49 pm
Jacob, to clear up, by manual setup I just meant getting the windows arranged side by side, showing the right diff, etc. I believe that the SVN bundle is pretty automatic, but I can’t tell if it’ll show me the display I want without me mousing around a bit.
It may seem like a minor thing, but for something I do so often, it’d be nice to have the edges smoothed off.
24 July 2009 @ 5:05 pm
I would be interested in vc-checkin-mike and what it didn’t do. I’ve been doing most of my vc work in emacs lately, and wouldn’t mind having a nicer way to do so. I definitely need to see the file, the diff and edit the changelog. I always scroll through the diff adding to the changelog as I go.