★ wanayoo — archive 1999 http://dev.scriptics.com/software/tcltk/netcvs.htmlNouvelle recherche | Portail wanayoo
Developer Site
Getting StartedTcl AdvocacySoftware ResourcesDocumentsServicesCommunity
Home
Login | Tcl/Tk | TclPro | Tcl Plugin | Tcl/Tk Ports | Java | Applications | Extensions | Tools |  CVS| | Bug DB
Search 

CVS Configuration | Tcl Versions | CVS Software

The source code for Tcl/Tk and several related software packages is available through a CVS repository that has a network interface. CVS is a source code control system. A "repository" is made up of a collection of software "modules". Developers (i.e., you) check out a module to get a copy. Once you have checked a copy out, you can periodically update it to pull over the latest changes to the source base.

The repository on cvs.scriptics.com is a read-only repository that is updated nightly with the most recent changes to the master repository for the sources. If you modify the source base, you can compute diffs against the master repository in order to create a patch. Use our regular bug form to submit patches.

Notice: The source available from the repositories is generally in a state of flux; it represents the latest changes commited to the master source base. We make no guarantee that the code will work correctly. If you find errors, feel free to correct them in your source tree and send us diffs. If you do report problems, please be clear that you are using the net CVS repositories.

For stable source releases you should use official releases.

The Tcl/Tk CVS Configuration

To check out the sources you need to be running CVS 1.9 (we have 1.10) or later. Set your $CVSROOT to (or specify this value with the -d flag to cvs):

:pserver:cvs@cvs.scriptics.com:/cvsroot
The password for user cvs is cvs

Try this now:

cvs -d :pserver:cvs@cvs.scriptics.com:/cvsroot login

Modules

Modules are the unit of granularity when you run "cvs checkout modulename" to get a copy of the sources. Some of these modules have aliases for the same thing, (e.g., "tcl8.0" and "tcl8.0.3" are both aliases for the "tcl" module). The name you pick determines the name of the directory created by CVS.

You can get a list of modules with

cvs checkout -c
The following table summarizes the modules available in our CVS repository.
ModuleDescription
apacheApache Web Server
buildBuild environment
bwidgetBWidget Tk widget set
cgitclDon Libes cgi.tcl package
config??
exmhExmh mail user interface
expatJames Clark's Expat XML Parser
expectExpect application
ftplibFTP library
incrTcl[incr Tcl]
oraTclOracle Tcl Interface
pluginTcl/Tk Web Browser Plugin
sampleextensionSample C extension (TEA)
tclThe Tcl Core
tclbenchTcl Benchmark Application
tcldomTcl DOM (Document Object Model)
tclexpatExpat-based XML parser
tclhttpdTcl Web Server
tcljavaTclBlend and Jacl Java interfaces
tcllibStandard Tcl Library
tclodbcTcl ODBC Extension
tclxExtended Tcl
tclxmlTcl-based XML parser
threadThread command Extension
tkThe Tk Core
tktableTk Table Widget
tlsSecure Socket Extension
vuVu Widget Extension
winicoWindows Icon Extension

Working with Tcl Versions

There is only one "tcl" module and one "tk" module, but we use branches that correspond to different releases. The main branch corresponds to the 8.2.* releases. The aliases listed in the table above are set up to automatically select the right branch. So, if you access the "tcl8.1" module you get the "core-8-1-branch" of the tcl module.

For example:

cvs -z3 checkout tcl8.2
The -z3 option specifies level 3 gzip-style compression for the data transferred over the network.

The core branch always gets you the most recent work. Other tags are used to mark release points and merge points. One trick to find out the set of possible tags is to check the status on the "changes" file. This file is part of every release so it has all possible tags applied to it. Try:

cvs status -v changes

You'll see tags like core-8-0-4 that correspond to release points.

Once you have your own copy of a module, you can bring it up-to-date with the "cvs update" command. CVS remembers the properties and tags of your module, so you can just change directory into your copy of the module and do the update.

cd tcl8.2
cvs -z3 update -P -d 
This example shows some useful flags:
-z3
Use compression when transferring files. This is a global cvs flag so it has to come before the operation (e.g., update).
-P
Purge any emtpy directorys that crop up because of changes to the directory structure in the repository.
-d
Automatically add new directories during the update. Otherwise update only updates the directories you already have in place.

Getting Started with CVS

Download the appropriate version of CVS. We recommend version 1.10 or higher.

Top of page
Developer Home | Ajuba | Getting Started | Tcl Advocacy | Software Resources | Documents | Services | Community
Search | Site Map | Feedback | Contact Us | webmaster@ajubasolutions.com
Increase page width
© 1998-2000 Ajuba Solutions. All rights reserved. Legal Notice | Privacy Statement

Last modified: March 09, 2000