KDevelop 3 and KDE CVS Repository

Ian Wadham ianw at netspace.net.au
Thu Nov 20 02:05:38 GMT 2003


Well, Gary, I was not as lucky as you (getting help beforehand) when
I committed KGoldrunner to kdenonbeta a few months ago.  Naively,
I got KDevelop to make me a tarball then committed all the files in
the tarball!  It seemed like a good idea at the time, but several CVS
administrators swooped on me from a great height!

I'm replying to both of your threads here.  I think there is a simpler
way to do what you are proposing in your wiki document and also deal
with other issues, such as documentation.  I don't know if my way is
best though.  It was worked out by trial and error (with a lot of error).

I'm still not sure how KDevelop's support of CVS can (does?) fit in
with KDE online CVS.  I guess neither of us is using KDevelop's
CVS features.  I just do online CVS commands in the Shell, with a
pipe and a "tee -a" to a log file (for future reference).  Old UNIX
habits die hard.  But first, an outline of your original postings.

----- Original Message ----- 
From: "Gary Cramblitt" <garycramblitt at comcast.net>
Sent: Friday, November 14, 2003 10:37 AM
> I'm a newbie and need some help figuring out the proper procedure for
> adding programs developed with KDevelop 3 into the KDE CVS repository.
> ---------
> I wanted to add this new applet to the KDE CVS repository in
> /kdenonbeta/applets.  Clearly all these files don't belong there.  On
> the advice of of someone in kde-devel mailing list, I did manage to get
> my program into the KDE CVS repository.  Here's what I had to do:
> ---------
> How are other people doing this?
>
----- Original Message ----- 
Sent: Tuesday, November 18, 2003 2:14 PM
> I've created a new wiki document entitled "Adding KDevelop Projects to
> the KDE CVS Repository".  View it here:
>
http://kde.ground.cz/tiki-index.php?page=Adding+KDevelop+Projects+to+the+KDE+CVS+Repository
>
Basically, there are two problems to solve: the KDE CVS does not allow
"generated" files (KDevelop generates lots) and the KDE CVS directory
structure differs from KDevelop's project structure (e.g. in KDevelop, your
documentation goes in .../myapp/doc/en/index.docbook, but in kdenonbeta
it goes in .../kdenonbeta/doc/myapp/index.docbook, with no "en").

The easiest way to get a feel for these differences is to browse KDE
WebCVS: http://webcvs.kde.org/cgi-bin/cvsweb.cgi/.  You can also view
code, log messages and code differences there, or download (small numbers
of) files.  It is an extremely useful tool for KDE developers.

My solution to the problems was (and still is) to set up a partial "mirror"
of the KDE CVS structure in my home directory, under ~/KDE-CVS, and
keep it quite separate from my KDevelop directories.  You have to set up
something like this anyway if you want to work with any remote repository.

I then move (NOT copy) all the files I want to keep in KDE CVS into the
appropriate places in the mirror structure.  From there they can be "added"
"updated" and "committed", using the relevant CVS commands.  Files to
move across are:
  - All editable files you have written yourself (e.g. .cpp and .h),
  - All graphics, sound and other files you have created yourself,
  - Your index.docbook (documentation file),
  - The .desktop and .lsm files generated by KDevelop and edited by you,
  - The GNU documentation files in the top directory (BUGS, etc.),
  - Icons you have created yourself,
  - All Makefile.am files, EXCEPT the top-level one in your project.

The top Makefile.am in the CVS area should just say something like
"SUBDIRS src".  If you get it wrong, the administrators will fix it
up at light-speed, to keep KDE compiling ;-) ... but please look at
some examples in WebCVS and get it right.

But my project won't build now!  Right!  So go into KDevelop's
Automake Manager, right-click on each of your targets (bottom pane)
in each sub-project (top pane), select Add Files and get your files back.

The Add Files dialog will let you browse to your CVS directories and
LINK (recommended) several files at once from there back into your
corresponding KDevelop directories.  Do NOT link back the top-level
Makefile.am file: you must keep separate versions for KDevelop and
CVS.  After all this surgery, you will need to do Clean Project, Run
Automake and Friends, Run Configure and Build Project.

KDevelop will happily build with and let you edit the linked files, and
because they are linked (not copied) you never have trouble with your
working files getting out of synch with CVS.

However, if I am going to make major changes, I like to copy a file
or two to the KDevelop area and then the CVS provides an immediately
accessible "baseline", in case of disastrous edits, etc.  Of course, I can
always check the CVS version back out from KDE CVS, but I'm limited
to a dialup line and besides somebody else might have changed the remote
copy, an issue I'd rather deal with at a more convenient time.

All the best, Ian W.

PS. I must've done something right.  KGoldrunner's in kdegames now :-)



-
to unsubscribe from this list send an email to kdevelop-request at kdevelop.org with the following body:
unsubscribe »your-email-address«



More information about the KDevelop mailing list