mendix / LibSvnSharp

C# wrapper around Subversion based on SharpSvn
Apache License 2.0
25 stars 6 forks source link

LibSvnSharp

C# wrapper around Subversion based on SharpSvn

Purpose

We have been using the wonderful SharpSvn library to do communication between our software and Subversion (SVN) servers for quite a while.

Unfortunately, SharpSvn comes short in fulfilling the following requirements:

To cover those shortcomings, we decided to rebuild SharpSvn using a different approach.

We decided to give a new name to this library because we don't want to shadow the original SharpSvn library, as we don't plan to reimplement it in full.

Implementation

We implemented LibSvnSharp as a port of SharpSvn to managed code. Because of that, you will see a lot of mentions of SharpSvn in the code.

We use CppSharp project to generate bindings for native Subversion library APIs, and then we take SharpSvn code and rewrite it in C#. Simple! :)

This allows us to build Subversion separately from LibSvnSharp, so to update it to a newer version would mean to simply build a newer version of the native library. Because of this approach, we need to redistribute both the managed DLL and the native one.

TODO

This project is still a work in progress. We are far from done yet, and we don't plan to port all the APIs of the original SharpSvn library.

We would like to have the following:

Contributing

This document is a work in progress and will be posted separately in this repository.