The Lurker

Latest posts | Archive

posted by ajf on 2002-12-14 at 03:09 pm

Incredibly, in the Eclipse build I have (version 2.1, build 200211151436), you can browse through a CVS repository using the CVS perspective, but there's no access to the "cvs log" command (to read the checkin comments history of that file). You can do it from the Resource or Java perspectives, so it's not as though Eclipse doesn't support reading the log; you just can't do it from that screen. Dumb.

Kevin says he really likes the Eclipse's CVS support. But I have to say that my experience with WinCVS — which has more than its fair share of UI bugs and quirks — was faster and easier to use. And I think the diff in Eclipse is harder to read than any other diff I've ever seen. Hell, I'd use diff -u over Eclipse's diff view if Eclipse wasn't a kitchen sink application (ie, it actually played nice with external tools).

What I want in a CVS tool is to be able to see what I've changed at a glance. In WinCVS, modified files have a fiery red blob next to modified and conflict-afflicted files. In Eclipse 2.0 on Windows at work, I get an indistinct blob (maybe it's an arrow? — I can't check right now because this Linux build doesn't want to give me even that) less than a quarter of the size of the icon next the file. WinCVS allows you to use external diff tools, and if I recall correctly when you use the standard console diff it colours inserted and removed lines red and blue respectively. And Eclipse seems to take twice as long to

When you choose "Compare to latest version from repository" on a file in Eclipse, it brings up a "structural view", which is a tree view with a whole bunch of folders and the file you're look at in the bottom. Bear in mind here that, since I only had one file selected, there's nothing else in this "structural view" to navigate to. It takes three or four seconds to bring up this view, and wastes the same amount of time again because I have to double-click the file in the tree view to actually view the diff. Sometimes I could have finished reading the diff in wincvs before Eclipse bothers to show me anything.

And when it does show it to me, again I have to squint and concentrate to find the change. Suppose you change a line which says String k = "hello"; to String k = "Hello";. Eclipse's diff will display a two pane view, with the newer version on the left (which I find counter-intuitive — would you ever drawn a timeline that way? — but I can live with it). It will select the entire line in both panes. If your line is wider than half the width of your text editing area, there's a pretty good chance that the differing character isn't visible. And the horizontal scrollbars aren't tied together — you need to scroll one pane to the right, then move over and scroll the other one separately.

Some diff views are better. In the diff you get in the refactoring wizard, for example, hitting "next change" will change the selection from the entire line just to the changed characters within that line. Other diffs are even worse, though: the "Synchronize with Repository" window, which should be an incredibly useful feature (because it attempts to make "read-the-diff-then-commit" quick and easy), will cycle through every single change twice — once in a similar way to the "compare with latest from repository" view, then it cycles through the same changes again as it scrolls through the "Java structure compare" which shows exactly which methods and fields were altered (which is otherwise a really nice feature).

Other things that have bugged me with Eclipse:

Related topics: Rants Java

All timestamps are Melbourne time.