Friday, September 21, 2007

New Subclipse Build Posted -- Dialog Improvements

I just posted a new development build of Subclipse - 1.3.3. You can currently only get these builds as part of the CollabNet Merge Tracking Early Adopter program. The reason being that these builds require development build of Subversion 1.5 and I am coordinating these builds so that they use the same Subversion binaries (to make it easier to test).

This new build includes some dialog UI improvements I have been wanting to make for a long time. I have really grown to like the simplicity of the CVS commit dialog and have heard comments many times about the general usability difference between the CVS plug-in and Subclipse. So the intent here is to close the gap some more and incorporate some of the same UI while maintaining the Subclipse features that we can. Here is a fairly complicated example that shows most of the features:

There are a few of major changes.
  1. The dialog uses a wizard-style UI which is pretty common in Eclipse. This gives us a chance to include a graphic and just generally make the dialog look better.
  2. The presentation of files has changed from a table with checkboxes to the more friendly and graphical mode that CVS uses. There are three presentation models to choose from.
  3. Because we no longer have a table to show data and text we needed a way to show when there are Subversion property changes. We are using a second decorator to do this. Currently we only use this in these dialogs, there are no plans to do this in Eclipse views.
  4. The biggest change is that you now have to right-click and use Remove from view to not commit something. You used to be able to uncheck a check-box.
Earlier this year I wrote a post that detailed the Features of the Subclipse Commit dialog. You can review that post if you want to compare the differences in the UI. Here is another screenshot that is a little simpler to give another taste of the changes.

I think everyone will agree the dialog looks better. I think where there might be some controversy is in how you decide to not commit a certain file. This new approach is definitely optimizing for the scenario where you typically commit everything in the dialog. Users that work mostly from the Synchronize view, as an example, should really like this better.

Personally, I find this approach more usable. Even though it is a little more difficult to right-click and remove something than it was to uncheck it, the fact that the item no longer shows up in the view makes it more obvious what is going to be committed.

The Revert and Lock dialogs got the same treatment:

Other dialogs like Switch and Create Branch/Tag also received the new wizard look. Please give these builds a try and let me know what you think. The best places to reply would be the Subclipse users@ mailing list or in the issue tracker for this issue 682.


Chris Aniszczyk (zx) said...

the subversive versus subclipse is killing me. Stop making me switch between the two ;p

Anonymous said...

proposols for the new "right-click and remove":
1. add a column with a small button in each line to remove this item, so one left click is enough.
2. Is there a undo feature? Is there a revert all?

It's not available as subclipse release, right?


Mark Phippard said...

This is available in a release of the 1.3.x development stream leading to the 1.4 release. This will happen around end of year when SVN 1.5 is GA.

Gunnar said...

Mark, one feature that I was missing ... if you select a previous comment, TortoiseSVN also pre-fills the issue number. That's very comfortable. Can the renovated dialog also fill in the issue key?

Mark Phippard said...

We have a similar feature except ours would show the issue # as we inserted it into the comment. Possibly only if you had done a commit with the message though (Cancel also remembers comments).

TortoiseSVN must do some kind of parsing of the comment to extract the issue from the message. Either that or they store their comments differently. If it is a feature you want, I'd say file an issue.

adam? said...

Can you at least select multiple files before right-click and removing them from the list? I often find myself committing one or two out of hundreds of changed files. It would be great if I could select all, then control-click to deselect the files I want to commit, then remove everything that's still selected.

Mark Phippard said...

Yes, you can select multiple items before you right-click. You can also select multiple items before you take the commit option (if you just want to select your two files as an example).


Anonymous said...


I have a problem with subclipse related to JavaHL. After I installed it, it had problems with SVN settings. I added /usr/local/lib to java.library.path as suggested, it helped but only partially. New error came out:

Failed to load JavaHL Library
These are errors ...:
no libsvnjavahl-1 in java.library.path
undefined symbol: gss_delete_sec_context
etc. etc.

I'm using RHEL 4. May be you have any idea what is it?

Mark Phippard said...

Please send Subclipse questions to

Your problem is clearly this:

"undefined symbol: gss_delete_sec_context"

That is saying the SVN library was expecting to find that symbol in one of its dependency libs and did not find it.

Anonymous said...

Thanks. I an e-mail there. I'm note sure which library is supposed to contain gss_delete_sec_context.

Carlos de Luna Saenz said...

Ia mh avinga WEIRd troublew iths ubclipse... i have the Europa distribution Version: 3.3.2
Build id: M20080221-1800 and maven plugin. Nothing more than that. When sublipse is installed my project (that is ina svn repo)j ustm ake eclipse crashed. Ih avea si milarc onfiguration in another machine with not rouble. Ist herea ny known issue related with any Windows XP update or any HP computer related software? Thanks in advance

Mark Phippard said...

See this FAQ:

Anonymous said...

Anonymous said...

atorvastatin bioequivalence
atorvastatin bioequivalence lipitor

Anonymous said...

As far as I can tell this change forces users to use their mouse. I recommend you at least allow users to use the delete button to remove a file from the commit. On windows you may be able to use the context menu/right click menu button to show that dang popup but that adds even more keystrokes for arrows/enter key. Before I could just use tab+space over and over to select/deselect a list of files. To summarize: add a delete shortcut or people will despise it.

b-ryce said...

I really don't like the force right click instead of the check boxes for removing files. Any chance you could take a poll and see what people prefer?

This seems like a step backwards in usability...

I really like to pick and choose files that I commit, and change that list easily. Checkboxes are ideal for the type of commits that I (and the members of my team) perform regularly. With this new functionality, if I want to go back and add a file that I had removed from the list it creates a lot more steps to get back to the select list again.

Really the only situation where this is optimal is when people commit all their files every time. But you can still do this with all checkboxes being selected by default. So really there is nothing gained, other than marginally simplifying the view. In other words, not worth it.

北溟鱼逍遥游 said...

Hello, Do you know how to disable commit changesets without comments in SVN?

Unknown said...

I appreciate your work, but this is a step backwards. A check box + flat list is a much simpler way to manage what files are checked in or not. The TortoiseSVN commit dialog is much better to use.

Mark Phippard said...

Subclipse 1.4.2 has made some changes to the dialogs. They now include checkboxes and some other ways to manage unversioned files en mass.

Adil Fulara said...

Hi Mark,

My company has a tool (built on eclipse api's) which currently uses Subversion 1.4 and Subclipse 1.2.4. We would like to migrate to Subversion 1.5 and subclupse 1.4.x

Could you please direct me to a site or url which would help me get started on the migration.

Thank you,

Mark Phippard said...


Exchanging comments is never going to work. Please come to to ask questions.

I cannot think of anything in particular to point you to. You probably just need to adjust dependencies to account for packaging changes in 1.4.x.


Anonymous said...

I came across this blog looking for a way to restore the column that showed the file status, i.e. "missing", "deleted", "added", "unknown", "changed" etc.
Can you please re-add this very helpul column? Since no decorators are used (apart from the one indicating property changes), there's NO WAY to know exactly to what changes do I agree upon pressing the OK button.

Mark Phippard said...

There is no plan to change the dialog as that would require going back to table, which we do not intend to do. It is not true that there are no decorators. The same ones used in the Synchronize view are used. An outgoing arrow for modifications. The arrow has a + in it if the file is added, a minus if deleted, and there is no arrow at all if the file is currently unversioned.

We are basically emulating the UI of the CVS plugin which our users have told us for years they want us to do.

Thanks for your comments. If you want to continue the discussion please use the Subclipse mailing list.