Version 16 of CVS

Updated 2002-08-20 13:40:46

CVS (Concurrent Versions System) is one of many SCM packages available in the source development community.

It is quite frequently used in the Tcl community because of its use at SourceForge; this site includes tutorials that help CVS beginners.

Instructions on retrieving the Tcl/Tk source from the SourceForge CVS server are available from <URL: http://sourceforge.net/cvs/?group_id=10894 > for Tcl and <URL: http://sourceforge.net/cvs/?group_id=12997 > for Tk.


Here are a few packages written in Tcl and/or Tk that interact with CVS.

 What: cvsversion
 Where: <URL: http://www.dedasys.com/freesoftware/ >
 Description: Tcl script that recursively searches CVS/Entries files
        and compares them with a save file.  If a different is found,
        you are asked if you would like to increment the major, minor,
        or point number of the release, and then stores the new information
        in a VERSION file.
 Updated: 09/2000
 Contact: <URL: mailto:[email protected] >


 What: FastWeb
 Where: <URL: http://www.compiler-factory.com/index_FastWeb_E.html >
 Description: Framework for creating and managing multi-language
        HTML WWW projects.  Depends on Tcl to glue together
        M4, WEEX, CVS, HTML TIDY, make-type functionality, etc.
 Updated: 09/2001
 Contact: <URL: mailto:[email protected] >

 What: Graphical Interface to CVS (Chan)
 Where: From the contact
 Description: Software Engineering Class project.
 Contact: <URL: mailto:[email protected] > (Tony Chan)

 What: Graphical Interface to CVS (Marwood)
 Where: <URL: ftp://ftp.cpsc.ucalgary.ca/pub/projects/grouplab/software/gic-1.2b1.tar.Z >
 Description: GIC is a Tk interface to the Concurrent Version System, a
        revision control system.
 Contact: <URL: mailto:[email protected] > (David Marwood)
        <URL: mailto:[email protected] >

 What: Makedist
 Where: <URL: http://www.purl.org/NET/akupries/soft/makedist/ >
 Description: A tool to help generate distributions from a source
        code repository such as CVS, automating as much as possible.
        V2.0 requires Tcl 8.x .
 Updated: 11/1998
 Contact: <URL: mailto:[email protected] > (Andreas Kupries)

 What: RAD/CVS
 Where: <URL: http://www.radsoft.com/radcvs/ >
        <URL: http://www.indirect.com/www/radsoft/radcvs/ >
 Description: RAD/CVS is an object-oriented, Tcl interface to the
        Concurrent Versions System (CVS). The RAD/CVS Tcl Interface implements
        an abstract interface that is not dependent upon CVS and could
        conceivably be implemented using other underlying implementations (e.g.
        RCS, SCCS, PVCS).  Has a Tk/Tix interface.
        Available for non-commercial use only.
 Updated: 07/2000
 Contact: <URL: mailto:[email protected] > (John Goodsen)

 What: rcsview
 Where: <URL: ftp://ftp.pmg.lcs.mit.edu/pub/andru/rcsview-1.2.tar.gz >
 Description: A Tk viewer for RCS or CVS files.  It highlights text
        according to the version from which it comes.
 Contact: <URL: mailto:[email protected] > (Andrew Myers)

 What: Tcl Developer Studio
 Where: <URL: http://www.star.spb.ru/%7Esmall/tcldev/ >
        <URL: http://www.star.spb.ru/%7Esmall/tcldev/download/tcldev-1.0.tar.gz >
 Description: Environment for Tcl/Tk developers.  Provides
        multi-file editor with syntax indenting, highlighting, find
        functions, CVS control interface, simple project support, printing
        fast file navigation.
 Updated: 07/1999
 Contact: <URL: mailto:[email protected] >)

 What: TIDE
 Where: <URL: http://www.t-ide.com/ >
        <URL: http://www.eolas.com/tcl/tide/download.html >
 Description: Commercial Tcl/itcl Integrated Development Environment (IDE) for
        single users.  Lets you manage your projects, navigate
        the source, and browse your symbols.  Supports project
        management, smart editor aboe to navigate thru project, interfaces
        to RCS and CVS source repositories, interface to Tuba debugger,
        diff/merge against repository, cross reference for symbols,
        about to search against projects, symbol browser, byte compiler,
        lint, and package mechanism.
        Supports Linux, Solaris, HP-UX, AIX.
        Version 1.5 is now available.
 Updated: 05/1999
 Contact: <URL: mailto:[email protected] > (Ing. Hans-Michael Haschek)
        <URL: mailto:[email protected] >

 What: tkCVS
 Where: <URL: http://tkcvs.sourceforge.net/ >
        <URL: http://www.twobarleycorns.net/tkcvs.html >
        <URL: http://www.rubicon.net/%7Egbr/cvs-info/ >
        <URL: http://www.teleport.com/%7Emokuren/tkcvs.html > (??)
        <URL: ftp://ftp.neosoft.com/languages/tcl/sorted/packages-7.6/apps/tkcvs-6.0/tkcvs-6.0.tar.gz >
        <URL: http://www.cvshome.org/cyclic/tkcvs/ >
 Description: tkCVS is a Tk interface to the
        Concurrent Version System, a revision control system.
        Supports CVS 1.6 and newer and provides search facilities for the
        modules database, file browser, etc.
        Requires TkDiff to be installed.  Has been tested under
        Linux v1.2.13/CVS 1.6/Tk 4.0 and SunOS v4.1.3/CVS 1.[2-6]/Tk 4.0.
        See the Cyclic site for a port of tkCVS to Windows NT.
        The Rubicon site has a document describing the use of tkCVS for
        version control.  The teleport site contains an unofficial, in
        development, version of tkCVS 6.1a8.
        Contact <URL: mailto:[email protected] > regarding a
        patched version of tkCvs for Windows.
        Currently at version 7.0.1 .
 Updated: 07/2001
 Contact: <URL: mailto:[email protected] > (Del)

 What: tkdiff
 Where: <URL: http://www.ede.com/free/tkdiff/ >
        <URL: ftp://ftp.ede.com/pub/free/tkdiff/tkdiff-3.05.tcl.txt >
        <URL: http://www.ipass.net/%7Eklassa/tkdiff/ >
        <URL: http://moinejf.free.fr/ >
 Description: TkDiff is a Tk based interface to the Unix diff command which
        provides highlighting of difference regions, side by side viewing of
        files, linked scrolling, random access to the difference
        regions, file merge, and online help.  Requires Tk 3.x or 4.x.  Also
        supports SCCS, RCS, and CVS.  Built in editor, find facility.
        A binary version for i386_linux is also available.
        Version 3.04 (with new interface) is now available.
        The ede site is the authority location for downloading this application.
        The moinejf site has a version of tkdiff that does 3 way merges using
        diff rather than diff3.
 Updated: 12/1999
 Contact: <URL: mailto:[email protected] > (subscribe tkdiff)
        <URL: mailto:[email protected] > (John M. Klassa)

 What: WinCVS
 Where: <URL: http://www.wincvs.org/ >
 Description: CVS interface for Windows.  Reported on comp.lang.tcl to rely
        on Tcl.  Appears to be a C++ application depending on CVS DLLs.
 Updated: 02/2000
 Contact: <URL: mailto:[email protected] >


You can format CVS or RCS log entries into a ChangeLog format using log2changelog


[Other approaches:

      [open "|cvs -d $cvsroot init" RDWR] and talking to
      cvs along pipes.

      speaking direct CVS protocol through [socket].

]

Will this really work? If cvs asks for my password, can I really check for that and send it back down the pipe?

Well, yes, you can. If however there is going to be very much interaction, or if the strings being examined are going to be very complex, I (LV) would recommend looking at Expect as a Tcl extension to make the interaction a bit easier.

Vince: Can you provide a simple example of a script which will check for a password request and send that back down the pipe? Nothing complex, just, say the equivalent of 'cvs -z5 update -d $cvsroot ChangeLog', type password, and we're done.

See Pipes vs Expect


Category Acronym