adding vcs support "subversion" to kDevelop

Mickael Marchand marchand at kde.org
Thu Jun 26 23:03:06 UTC 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

I will start working on subversion for kdevelop and KDE in a few days now.

We already have a basic support for svn inside gideon using the client lib. 
Roberto also coded a kpart for kdevelop using the "svn" command (like we do 
for CVS in kdevelop).

My main concern right now are :
- -> don't use the "svn" tool, I really hate this way of coding :). Subversion 
developers provide a library and a good API, it's our job to use it. You 
would tell me "why ?" , the first reason coming to my mind is "no error 
control at all", but there are a lot of other reasons to not do it this way 
...
- ->have a "global" KDE subversion support. I don't want to develop a kpart for 
kdevelop, then another kpart for cervisia then another tool for konqui etc 
etc ... I really would like to have a full/global integration into KDE.
It seems cervisia coders already started to write a generic framework for a 
generic VCS integration into KDE. I will look into this soon but I already 
guess that's one way to go.
- ->last but not least important : i am also waiting for the svn lib to be a 
little "stable" == not changing every 2 releases which was the case a few 
months ago when I first wrote the kpart ;). This is just boring :) (note that 
I don't blame subversion developers. subversion is not stable/released yet so 
I understand it has to change, they do whatever they want with their code :)

so I am thinking to different possibilities to integrate subversion into KDE :
first note that I am considering 2 parts in this integration :
- -> first : the low-level, the one which does the subversion stuff (checkout, 
commits etc )
- ->second : the interface with KDE apps : it seems it will be the VCS interface 
from cervisia.

for the "low-level" part, we could develop :
- --> a kioslave
like I discussed on #svn at freenode, KDE could have a kioslave to handle 
subversion requests at a low level (ie HTTP/WebDAV requests). This implies 
reimplementing most of subversion lib inside kio_http :) (that's quite some 
work ;). But that would be the "cool"/"good KDE looking" way and avoid a 
library dependency :)
- -->a "fake" kioslave
We could also use the subversion lib to write some "fake" kioslave. This makes 
sense since we would avoid many many bugs in our implementation (rewriting 
WebDAV requests would lead to a huge number of bugs I guess). We should leave 
that part (I mean the bugs :) to subversion developers and focus on the 
interface.
I would love a ioslave, since I could then just type 
svn://svn.freenux.org/yzis/trunk/ in konqui and browse the repository just 
like a local filesystem , then copy , delete (?), move (?) etc ... (even edit 
?) (just imagine : kwrite svn://svn.freenux.org/yzis/trunk/README , it 
checkouts , open the file, you edit, you save, it commits :)

Using some URL convention, we could retrieve some specific revision : 
svn://svn.freenux.org/yzis/trunk?rev=105 for example.
I would really love that :). This would also work on a local working copy 
(using svn://home/mikmak/yzis/) 

What I mean by "fake" kioslave is that when I want the kioslave to checkout a 
repositery, the ioslave would just ask subversion API to do it for me :). 
This looks possible to me but it needs some investigation/testing ...
If we can have a working ioslave, then it seems really easy to me to integrate 
it in any application we want including the VCS framework. 

- -->integrate it directly inside the VCS generic framework. 
it's a possibility but I prefer one of the kioslave way. This seems more 
reusable to me right now ... 

concerning gideon, I am not sure we can have a working svn kpart working for 
the first gideon release. So, I would suggest going back to the one Roberto 
proposed as a temporary solution. It makes subversion works for everyone with 
any version of subversion (this is what people are complaining most right 
now). I don't think we can expect a fully working svn kpart as I want it 
before svn and gideon are released as stable (I guess gideon will be released 
before svn ...).

I don't know if what I propose is good or not, comments welcome :)

cheers,
Mik

- -- 
KVim Maintainer, http://freehackers.org/kvim
YZis Editor Project, http://www.yzis.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE++186yOYzc4nQ8j0RAmBPAKCCVn8RmpLOa/JNO+Fcdb4VzHm5IgCeNGZi
JTxTfjiHBoOzFYzvnCgwVgo=
=bR7j
-----END PGP SIGNATURE-----




More information about the KDevelop-devel mailing list