summaryrefslogtreecommitdiffstats
path: root/vcs/cvsservice/README.dox
diff options
context:
space:
mode:
Diffstat (limited to 'vcs/cvsservice/README.dox')
-rw-r--r--vcs/cvsservice/README.dox82
1 files changed, 82 insertions, 0 deletions
diff --git a/vcs/cvsservice/README.dox b/vcs/cvsservice/README.dox
new file mode 100644
index 00000000..c89e9422
--- /dev/null
+++ b/vcs/cvsservice/README.dox
@@ -0,0 +1,82 @@
+/** \class CvsServicePart
+This plugin integrates Cervisia (version >= 2.1) cvsservice DCOP service into kdevelop (read FAQ at the bottom
+of this document): so, this part _does_ require cvsservice installed on your system: the configure script
+in the main source directory should automagically detect the presence of Cervisia and build this plugin.
+If Cervisia wasn't installed in $KDEDIR than you need to specify paths for lib and include
+files, for example:
+<code>
+ --with-extra-libs=$HOME/kde/lib --with-extra-includes=$HOME/kde/include
+</code>
+(where $HOME/kde is where I install my own kde stuff so I don't mess with working kde installation)
+
+<b>WARNING:</b> So, if you have already compiled kdevelop *without* cvsservice and have now
+installed cervisia to try this nice piece of software, you need to re-run configure so it
+can detect cervisia installation and enable compilation for vcs/cvsservice.
+
+<b>WARNING:</b> This plugin will quite surely change when the upcoming modifications in Cervisia's own
+architecture (separation of core and front-ends and user applications' library) are done (probably
+starting from kde >= 3.3). If you want to partecipate please join discussions on the cervisia@kde.org
+mailing list. Contributions are always welcome :-)
+
+<b>WARNING2:</b> If it doesn't compile try to update your cervisia installation.
+
+Implementation of this component is done by:
+ - class CvsServicePart, which does provide integration within kdevelop, set-up GUI
+ integration, forward cvs commands to the implementation (m_impl). It does also
+ intercepts signals like "new files added to project" and "... removed from ...".
+ - class CvsServicePartImpl implements the actual feature: more general speaking
+ functions (like checking for whether files are in repository, provide checks
+ on file lists, ...).
+ - class CvsProcessWidget provides output wrapping for commands (ok, it is useful
+ for debugging too ;-). It simply starts a DCOP job and awaits notification for
+ its termination.
+ - class CvsOptions* provide info about the user preferences when executing commands:
+ settings are stored in myprj.kdevses file, loaded when project is opened and
+ saved when project is closed.
+ - There is a bunch of dialog classes for collecting useful data about the operations
+ one wants to perform: exception to this are the cvslog* classes which do start
+ cvs jobs independently archiving parallelism with the CvsProcesssWidget.
+ - CVSDir and CVSEntry provide abstraction for accessing to local CVS information
+ - CVSFileInfoProvider is an implementation of KDevVCSFileInfoProvider interface
+ and collects data about files stats: for CVS, both synch (fetch data from local sandbox)
+ and asynch (fetch from repository server) are working with some minor bugs in the parsing
+ of 'cvs status' output for the latter. (Sync means that information are collected
+ from local CVS dirs which do not provide much information; async mean that a
+ "cvs status <dir-name>" request is launched, output parsed and information returned
+ to the client in _different_ times). Obviously this stuff requires the client
+ (actually only the FileTree viewer) to be aware of this feature (see parts/fileview for
+ additional info).
+
+\todo
+ - Fix the "cvs update" function which behave strangely for sub-directories of the main
+ project dir.
+ - (> 3.0) Replace the menu entries text with shorter ones
+ - Fix bugs on bugs.kde.org ;-)
+
+
+\authors <a href="mailto:mario.scalas AT libero.it">Mario Scalas</a>
+
+\maintainer <a href="mailto:mario.scalas AT libero.it">Mario Scalas</a>
+
+\feature All that provided by parts/cvs
+\feature it is possible to 'add as binary' files to repository
+\feature checkout from remote repository ability added to the appwizard/importdlg
+\feature should handle :ext: repositories thanks to cvsservice
+\feature can tag / un-tag files
+\feature can revert and diff between specific releases
+\feature can do multiple diff from a common cvs log output text
+
+\bug bugs in <a href="http://bugs.kde.org/buglist.cgi?product=kdevelop&component=cvs%20part&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=Bug+Number">cvs part component at Bugzilla database</a>
+
+\requirement <a href="http://www.cvshome.org">CVS</a> >= 1.10.6
+\requirement Cervisia >= 2.1 (from kdesdk package included in <a href="http://www.kde.org">KDE</a> >= 3.2)
+
+\todo Test with SSH repositories!
+\todo Share a common outputview between VCS: CvsProcessWidget should be reworked :-/
+\todo Additional slots for more complex stuff as status, revert, patch creation, ...
+
+\faq <b>Does cvsservicepart support login with :pserver: or :ext: ?</b>
+ Well, I dunno ;-) I have no ssh repositories to test so feel free to provide feedback on the subject :-)
+ Update: Ok, it seems at least one user has tried :ext: reporting it to work (with ssh-agent avoiding some
+ typing headache ;-))
+*/