I've updated delphisvn to use Subversion 1.5.
Good news that the official release now finally includes DLLs on Windows.
There's only source code for now, a downloadable release will follow.
Showing posts with label delphisvn. Show all posts
Showing posts with label delphisvn. Show all posts
Friday, July 18, 2008
Tuesday, November 07, 2006
delphisvn for Delphi 7
Tuesday, September 26, 2006
delphisvn: updated to Subversion 1.4.0
delphisvn now includes Subversion 1.4.0 client DLL. It can still use the previous (Subversion 1.3.2) client DLL.
Note: Using the Subversion 1.4.0 client library may automatically upgrade your working copy format which will make your working copy directories unusable by pre-1.4.0 clients.
For more information, see Subversion 1.4.0 Release Notes.
I've just upgraded my home computer to use Subversion 1.4.0 and TortoiseSVN 1.4.0.
The speed improvement is amazing! Kudos to the Subversion dev team!
Note: Using the Subversion 1.4.0 client library may automatically upgrade your working copy format which will make your working copy directories unusable by pre-1.4.0 clients.
For more information, see Subversion 1.4.0 Release Notes.
I've just upgraded my home computer to use Subversion 1.4.0 and TortoiseSVN 1.4.0.
The speed improvement is amazing! Kudos to the Subversion dev team!
Saturday, July 01, 2006
Blame
A few people have asked me if I plan to include Subversion blame functionality.
Here's a screenshot which shows what I've done:

Running blame may take a long time, especially with a file with a lot of history, so I wrote it to run in a separate thread.
The hint shows the commit log message of the blame line revision.
Here's a screenshot which shows what I've done:

Running blame may take a long time, especially with a file with a lot of history, so I wrote it to run in a separate thread.
The hint shows the commit log message of the blame line revision.
Thursday, June 22, 2006
delphisvn
I've started to prepare the Subversion stuff I've blogged about here for release as open source.
I've submitted project registration to Sourceforge. The project, if approved, will be called delphisvn and will be released under Mozilla Public License 1.1.
Update: Yay, I've just uploaded the initial release to SourceForge! :-)
I've submitted project registration to Sourceforge. The project, if approved, will be called delphisvn and will be released under Mozilla Public License 1.1.
Update: Yay, I've just uploaded the initial release to SourceForge! :-)
Wednesday, June 21, 2006
More Subversion
In the recent few days, I've been able to spare some time for my Subversion IDE plugin again. I've written a dockable IDE form which can be used to perform some actions and view their results. If you're interested in how to write a dockable IDE form, see Corbin's article and example. Who knows, perhaps this plugin might actually become useful one day ;-)
See for yourself, in the screenshots below.


Here you can see that the form inherits from Delphi's internal
The top two menu items are my own: Open will open the file in the IDE, and Show Diff will open its history view and show the differences between the local copy and the base revision.

I'm using Mike Lischke's excellent Virtual Treeview and I've noticed it's already also used by the IDE, e.g. in the Project Manager.
The columns can be moved, resized, shown or hidden. Their state is saved as part of your desktop (*.dst files in $(BDS)\bin directory). The treeviews can be sorted by individual columns by clicking on the header.

The Options dialog uses Delphi's internal dialog (

Here's a prompt for a commit log message.

Finally, the results of the Commit action.
See for yourself, in the screenshots below.


Here you can see that the form inherits from Delphi's internal
TDockableToolbarForm
.The top two menu items are my own: Open will open the file in the IDE, and Show Diff will open its history view and show the differences between the local copy and the base revision.

I'm using Mike Lischke's excellent Virtual Treeview and I've noticed it's already also used by the IDE, e.g. in the Project Manager.
The columns can be moved, resized, shown or hidden. Their state is saved as part of your desktop (*.dst files in $(BDS)\bin directory). The treeviews can be sorted by individual columns by clicking on the header.

The Options dialog uses Delphi's internal dialog (
TOrderedListEditDlg
) to edit the list of Subversion working copy directories.
Here's a prompt for a commit log message.

Finally, the results of the Commit action.
Wednesday, April 05, 2006
Subversion editor view

Today I've played with the idea of a new Subversion editor view in the Delphi 2006 IDE.
To add a new editor view to the editor, you have to implement
ICustomEditorView
interface and register it with a RegisterEditorView
call.You'll need to add
EditorViewSupport
unit to your uses clause. This unit is only available through designide.dcp; there is no source code. But you can use Code Insight and Help Insight to see what methods are declared in the interface:
TSvnEditorView = class(TInterfacedObject, ICustomEditorView, ICustomEditorFrameView)
private
{ ICustomEditorView }
function GetCanCloneView: Boolean;
function GetCaption: string;
function GetPriority: Integer;
function GetStyle: TEditorViewStyle;
function GetViewIdentifier: string;
procedure Display(const AContext: IInterface; AViewObject: TObject);
function EditAction(const AContext: IInterface; Action: TEditAction; AViewObject: TObject): Boolean;
function GetEditState(const AContext: IInterface; AViewObject: TObject): TEditState;
function Handles(const AContext: IInterface): Boolean;
procedure Hide(const AContext: IInterface; AViewObject: TObject);
procedure ViewClosed(const AContext: IInterface; AViewObject: TObject);
{ ICustomEditorFrameView }
function GetFrameClass: TCustomFrameClass;
end;
Tuesday, February 28, 2006
Subversion in my Delphi IDE

Subversion in my Delphi IDE
For over a year, I've been using Subversion version control software to manage my source code, with TortoiseSVN as client on Windows. I find TortoiseSVN extremely helpful in my everyday work. It's implemented as a Windows shell extension (so it's integrated with Windows Explorer) which makes it very comfortable to use.
For the last couple of days, I've been trying to write my own Subversion client and integrate it with my Delphi IDE. The picture above shows my humble first results.
There's Subversion client API but I had to use Microsoft Visual Studio to create a DLL to expose it to Delphi because Windows builds of Subversion link all the relevant code statically.
Then I had to write import units (translation of C headers into Delphi) to be able to use the DLL in Delphi. Subversion uses Apache Portable Runtime library, so I had to translate those headers, too (fortunately, APR on Windows does include DLLs). BTW, I find my own Delphi keyboard macro manager quite useful for translating C into Delphi. :-)
Today I finally used Delphi's new FileHistoryAPI to write a Subversion history provider which is shown in the screenshot. This part seems to be very straightforward.
This pet project of mine is in a very early alpha stage now. My header translations are incomplete and some parts are probably incorrect. Also, I don't know Subversion and APR internals very well yet so it's quite possible that what I'm doing can be done in a much more efficient way.
I plan to work on this project in my free time, extend it bit by bit, and when I have something stable and usable enough I will upload it to Borland's (or the new "DevCo"'s ;-)) CodeCentral.
Subscribe to:
Posts (Atom)