[RFC] Switch to RapidSVN's client lib

Andreas Pakulat apaku at gmx.de
Tue Sep 25 15:26:11 UTC 2007


On 25.09.07 09:49:18, Mathieu Chouinard wrote:
> On September 25, 2007 09:32:19 Andreas Pakulat wrote:
> > Hi,
> >
> > the last 2/3 weeks I've been looking into the subversion plugin, seeing
> > if it needs work. And it does need some love indeed. I'd like to "hide"
> > some things, remove the "Core" class (which basically just provides tons
> > of functions) and make the whole thing more "object oriented".
> >
> > My problem is: The svn-API is
> >
> > a) horrible, most of the functions exist in 2-4 versions, depending on
> > which svn-lib version you want to use
> > b) horribly documented, the generated doxygen documentation is only
> > usable on a per-header basis (unless you only look for some structure),
> > there's no list of existing functions, no grouping whatsoever
> > c) requiring a lot of low-level-alloc-like code, i.e. plain setup of
> > some memory pool.
> >
> > Therefore I'd like to change our requirement and depend on RapidSVN's
> > C++ wrapper of the SVN client library. The documentation is far better,
> > it need much less low-level-setup as far as I can see, it's
> > object-oriented as far as it can be.
> >
> > I'd use libsvncpp 0.9.x as minimum required version. (As I don't have
> > anything earlier here at the moment)
> >
> > Opinions? Objections?
> >
> > Andreas
> >
> > PS: Uhm, as far as workload goes, I'd have to touch most of the svn-code
> > that exists anyway so its not much more work to replace it with
> > RapidSVN.
> 
> you mean using something like this? http://kdesvn.alwins-world.de/

Not exactly, I meant: http://rapidsvn.tigris.org

The "problem" with kdesvn is that it provides the svn-qt library only as
part of the full app. While some distro's provide a libsvnqt package
some might not (and source-distro's can't) and I don't want KDevPlatform
to depend on another app. Apart from that, IIRC, the differences are
rather minor, as its mostly QString::from/toUtf8() around the arguments
and eventually converting urls into QUrl (for which we'd need KUrl
anyway). Also quickly looking at the headers svnqt really has the same
API as svncpp, except using QString instead of std::string (or const
char* like plain svn-C does).

Andreas

-- 
You have taken yourself too seriously.




More information about the KDevelop-devel mailing list