kycvs - a graphical CVS frontend
kycvs [[-c command] [-d directory] [-e editor] [-f file(s)]] | [-h]
kycvs is a graphical frontend for cvs the ``Concurrent Versions System''. It allows you to use almost all cvs commands via menu, hotkey or popup.
The following commandline options are currently known by kycvs:
The -c command accepts one of the following cvs commands:
Note: This commandline support is strictly experimental and going to be removed in a future version! If you're typing in the commands anyway, you're probably better off calling the cvs binary directly without kycvs as an intermediate instance.
Nothing special to mention for normal usage.
If you have the source-distribution, however, and build kycvs with debugging enabled (the $D+ dcc compiler-switch) the program will print out (on STDOUT and STDERR) a huge amount of text telling something about its internal doings. Unless you're quite familiar with the source-code and the software-design used therin, these messages won't be very useful for you.
While cvs uses additional environment-variables (see cvs(1)), kycvs uses the following variables (if set):
If you installed kycvs from the source and use the FHS-conformant location /opt/kycvs/ for the binary you should either type
export LD_LIBRARY_PATH="/opt/kycvs/" before starting the program, put that command in your ~/.bashrc or ~/.profile, or just use the startKyCVS script as well.
getlogin(3)call fails to return the current username. This name is currently used only for the window title.
The following files are used by kycvs (mostly r/o):
cvs(1)command. On startup kycvs reads the global options from this file to set its own internal properties accordingly. It then defaults to ignoring this file using the cvs option -f with all internally generated cvs commands (this is user-configurable at runtime).
mkstemp(3)call at runtime, so the actual name(s) will vary. Usually this file(s) are deleted automatically by kycvs so the user won't ever see one of them.
Unless you've set the LD_LIBRARY_PATH variable (e.g. in ~./bashrc) you should not place this binary in a directory on your PATH. Better use the startup script (with appropriate sym-links).
/opt/kycvs/libqtintf.so.2.2.4 sym-linked to /opt/kycvs/libqtintf.so.2 sym-linked to /opt/kycvs/libqtintf.so
/opt/kycvs/libqt.so.2.2.4 sym-linked to /opt/kycvs/libqt.so.2
See the discussion in RESTRICTIONS below as well.
Some commandline-options do not work as expected. They are going to be removed in a future release anyway: Why should one use a GUI app if one likes to type in the commands?
Some more ``bells'n'whistles''?
None known as of yet ;-)
Please feel free to submit any reports of anormalities you may observe to the EMail-address below.
kycvs was written in Object Pascal using the Kylix 1 IDE provided by Borland (see http://www.borland.com/kylix/ ). Since Pascal is not yet the 'native' language of GNU/Linux it uses a couple of external libraries which need to be installed on your system in order to run kycvs.
The kycvs executable is linked with the following libraries (where the
=> paths are those of a FHS-conformant installation):
/lib/libNoVersion.so.1 => /lib/libNoVersion.so.1 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 libqtintf.so => /opt/kylix/bin/libqtintf.so libpthread.so.0 => /lib/libpthread.so.0 libdl.so.2 => /lib/libdl.so.2 libc.so.6 => /lib/libc.so.6 libqt.so.2 => /opt/kylix/bin/libqt.so.2 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 libXext.so.6 => /usr/X11R6/lib/libXext.so.6 libSM.so.6 => /usr/X11R6/lib/libSM.so.6 libICE.so.6 => /usr/X11R6/lib/libICE.so.6 libjpeg.so.62 => /usr/lib/libjpeg.so.62 libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2 libm.so.6 => /lib/libm.so.6
Apart from the Kylix-specific libqtintf.so and libqt.so.2 all of this libraries should be available with a recent GNU/Linux distribution (at least if you've installed a graphic user-interface on your workstation).
The following list shows, what packages/rmps provide those libraries:
/lib/libNoVersion.so.1 => glibc-2.2.4-19.3 libX11.so.6 => XFree86-libs-4.1.0-3 libqtintf.so => kylix_main_program_files-1.0-1 libpthread.so.0 => glibc-2.2.4-19.3 libdl.so.2 => glibc-2.2.4-19.3 libc.so.6 => glibc-2.2.4-19.3 libqt.so.2 => kylix_main_program_files-1.0-1 /lib/ld-linux.so.2 => glibc-2.2.4-19.3 libXext.so.6 => XFree86-libs-4.1.0-3 libSM.so.6 => XFree86-libs-4.1.0-3 libICE.so.6 => XFree86-libs-4.1.0-3 libjpeg.so.62 => libjpeg-6b-16 libstdc++-libc6.1-1.so.2 => compat-libstdc++-6.2-184.108.40.206 libm.so.6 => glibc-2.2.4-19.3
So this reduces to
The named Kylix-specific libraries are provided with the binary distributions of kycvs.
kycvs uses the visual components provided by the qt-libraries for its visual appearance. It accesses them through the Borland provided interface-libraries libqtintf.so and libqt.so.2 (see above). In order to run kycvs you must either have the Kylix IDE installed on your system (so the named libraries can be found on your machine) or use a binary distribution which includes these two libraries as well. If you have KDE installed this should be all.
If you're using another desktop (like GNOME) you might have to install (but not: use) KDE as well or at least the underlaying QT-libraries. Installing QT is beyond the scope of this document; please refer to http://doc.trolltech.com/ to learn about QT, and visit http://www.kde.org/ for more information on the KDE Project.
As of now I have no reports confirming or denying the use of kycvs under GNOME. Feel free to drop me a note if you're going to try it!
The whole cvs support depends on a properly installed cvs executable. If kycvs fails to find/call cvs via the $PATH there is simply no cvs support. kycvs is not a replacement for cvs but a visual frontend. You should refer to the documentation that comes with cvs to learn how to setup and use
The cvs commands admin, init, login and logout are not available via kycvs. You should use the commandline in a shell if you really need them.
kycvs is a multithread application. That means it does its job with the help of a couple of ``worker-threads''. All cvs queries are done actually by such a ``worker'' in the background without blocking the GUI. The maximum number of concurrently running threads is user-configurable at runtime (default is 4).
Another ``worker'' tries to keep the memory-usage as low as possible. Since walking through a directory-tree may result in hundreds or even thousands of files seen (every of which internally represented by an object), such a walk could eat up quite a bit of memory. A GC-thread in the background takes care of that: it checks every directory whether it's ``expired'' and if so removes all file-objects associated with this directory from memory. The time after which a directory is assumed ``expired'' is user-configurable at runtime (default is 180 seconds i.e. 3 minutes).
For CVS updates, more information on documentation, software related to CVS, development of CVS, and more, see: http://www.cyclic.com/ and http://www.loria.fr/~molli/cvs-index.html
Copyright 2001-2002 DFG/M.Watermann, D-10247 Berlin, FRG
See the file COPYING included in the distribution for a complete license statement.
chlog and kycvs was written by
$Id: kycvs.html,v 1.3 2016/02/19 17:52:21 matthias Exp $