[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Subversion and .NET

From: Marcus Hettlage <hettlage_at_tigris.org>
Date: 2003-02-03 19:35:37 CET

I've already done something like that.
I've used a high-level C++ class, that I converted into a classical
Win32-DLL that exports C-style functions.
This DLL is then accessed via P/Invoke from .NET.
If I find the time to do the finishing touches I'll be releasing it at
the end this month.

I'd agree, that using P/Invoke is probably not the best idea.
But it worked for me. I'd like to do a mixed (managed/unmanaged)
C++ DLL, but I've had not yet the time to explore it.

----- Original Message -----
From: "Arild Fines" <arild.fines@broadpark.no>
To: "Subversion Developers Mailing List" <dev@subversion.tigris.org>
Cc: "Kristin Borud" <abactus@frisurf.no>; "Per August Krämer"
<per@perkramer.com>
Sent: Monday, February 03, 2003 7:04 PM
Subject: Subversion and .NET

> We are a group of 3 students who are working on integrating Subversion
into
> Visual Studio. NET for our final year project at Oslo University College.
> Some of you may remember the initial posts made to the list about this a
> couple of months ago. Since then, CollabNet has agreed to fill the role of
> employer for our project.
>
> After a period of exams and of doing administrative stuff related to the
> project(academia...:-|) we are now at the stage where we can actually
begin
> to write some code(woohoo!). Since the addin itself is going to be written
> in C#, we need to make the Subversion client API available to .NET
> languages. We believe there are three alternatives for doing this:
>
> o SWIG - From several discussions on this list, we have received the
> impression that SWIG is the preferred way to wrap the Subversion client
API.
> However, for us this approach has several disadvantages:
> - .NET/C# is not (yet?) a supported target for SWIG. This means we might
> have to implement this support ourselves, and this is probably not
> achievable within our timeframe.
> - None of us are familiar with SWIG(Ok, this is not a major problem, but
> still...)
> - The existing SWIG bindings for SVN doesnt appear to be working too well
> on Windows yet. Is this related to the fact that SVN on Windows still is
> just a set of static libraries?
>
> o P/Invoke - P/Invoke is the standard .NET mechanism for accessing
unmanaged
> APIs. However, it requires us to mirror every type and every function from
> the Subversion API that we need to access in C#. Given the size of the
API,
> this is: a) A PITA to implement and maintain. b) A pretty fragile
solution.
> P/Invoke also requires dynamic libraries, which SVN doesn't yet have on
> Windows(any timeframe on this?)
>
> o Managed C++ - MC++ allows us to write mixed assemblies - eg, assemblies
> containing both managed and unmanaged code. This means we can write a
single
> DLL which links to the SVN .libs, and that exposes a managed interface for
> consumption by managed languages. This approach works equally well with
both
> dynamic and static libraries.
>
> Currently, we are leaning towards the last solution, but we would be very
> interested in hearing input from other people on this.
>
> --
> Arild Fines, Kristin Borud and Per Krämer
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Feb 3 19:43:25 2003

This is an archived mail posted to the Subversion Dev mailing list.