John Kaster

Behind the Screen

Subversion integration inside the Delphi editor

with 7 comments

A couple days ago I asked Dave Wilhelm about checking in the active file in the Delphi editor into my subversion repository, and he pointed out a feature I had missed in the new subversion integration in Delphi XE.

  1. Right mouse click on the editor pane with the file you want to check in as the active tab.
  2. Click Version Control
  3. Cick Subversion
  4. Select Commit
  5. This brings up the commit dialog for that file if it has changes to be committed. Fill in the comment (good practice) or not (bad practice), and commit the file.
  6. You’re done.

See for a screenshot.


Written by John Kaster

November 18, 2010 at 4:02 pm

Posted in Delphi

7 Responses

Subscribe to comments with RSS.

  1. Why someone should click **four** times to commit a file?? Can’t you see that’s a basically flawed UI? That’s should be at most a two click operation (right-click – commit) from a contextual menu, and a one click operation clicking a toolbar that AFAIK does not exist. Update/Commit **are not** rarely used operations. Otherwise it’s faster to switch to another tool and commit from there.


    November 19, 2010 at 1:11 am

  2. LDS – well, looking at the screenshot, it *is* two clicks if you can stand Windows’ standard menu delay (or have turned it off completely at the system level) – right-click, waft to Version Control, wait, waft to Subversion, wait, left-click on Commit or Update.

    That said, the Subversion level is a bit useless, even if more version control systems become supported (you’re not going to have the same source file under various systems’ control), and arguably, it would be better to ship off cut/copy/paste to a sub-menu rather than the version control items. Supporting context menu customisation is probably the answer though, since in general, simply adding yet more top level items isn’t the mark of a good UI…


    November 19, 2010 at 2:39 pm

  3. Yep – JCL Subversion integration: One click on the “Version Control” main menu item, then “Commit” to commit the current file (or click the commit with subitems to commit changes from a folder – with a subitem for each folder relevant to the current file – file folder, project (that the file is part of) folder etc.

    And furthermore JCL SVN integration is free and works for more versions than just XE.

    These posts about the SVN integration being so great just make the supposedly knowledgable posters look dumb for not knowing what was available beforehand, or for believing that something so clearly INferior is somehow SUPerior.

    Very frustrating.


    November 19, 2010 at 2:39 pm

  4. … I should point out that the JCL integration is still TWO clicks not one, but that’s only because the IDE won’t allow you to place those particular plug-in menu items on the toolbar.

    That may be an oversight in the plug-in itself of course. But it’s still fewer clicks (and more functionality for the same number of clicks) than the XE so-called “integrated” SVN support.


    November 19, 2010 at 2:43 pm

  5. Subversion is the first integration option supported at the editor level. I’m supposing it was implemented the current way because the goal is to support multiple VCS systems as plug-ins. I know R&D plans to make this more streamlined in a future release, perhaps by detecting which version control system is used for the active file and making it the entry at the “Version Control” menu instead.

    I still find being able to check in directly from the editor panel a lot more useful than useless, however.

    @All: I don’t understand the need to be so scathing and insulting in your replies. Having such hostility expressed in exchange for providing a helpful tidbit of information is an excellent way to prevent the sharing of further information.

    John Kaster

    November 19, 2010 at 3:12 pm

  6. “excellent way to prevent the sharing of further information” oh yes, feel free not to tell your *customers* (who pay your bills, remember) how your applications work. You’ve already done it with the help system, to be fair .

    Even if multiple VCS was supported, as already said it would be very difficult that a single project uses more than one. Delphi should be already smart enough to remember with VCS is used by a file (and show its status, BTW) Probably we are so stupid that we still expect from Delphi a great UI, not one that looks designed by an high school student. Why commands has been hidden in a four level deep menu, and no toolbar is available is really a mistery to me. And Delphi should really stop to take two-three version to get a new feature right. Attacking your customers – and only you have been insulting – is the wrong way to react.


    November 20, 2010 at 12:43 pm

  7. Hm, people seem to have a very negative attitude towards Delphi these days. I don’t blame them, I’ve had my share of problems with the company — this is, I bought Delphi in *spite* of Embarcadero, no thanks to them.

    That said, this is one of these things: the current svn integration is… half-assed, to say the least. While I’m grateful they are wiring the IDE to accept source control management (and with this new plugins are to be expected) their SVN implementation is way underpowered from an usability standpoint. This very same menu you are showing here – it doesn’t appear for new files.

    And, what the heck do these “Commit -> From repository root | From Project directory | Files in this project” options mean? You got to be kidding me.

    (I’ve spent half a morning trying to add a new imported file to my repository without resorting to TortoiseSVN. You can say I’m kind of underwhelmed.)

    Leonardo Herrera

    December 16, 2010 at 12:36 am

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: