From AlphaWiki

CVS: Cvs Updates Alphatk Mac OS

Note: this page needs more work. At present it is simply a mirror of CVS.AlphaTclCvsOldVersion.

Important Note (15 May 2006) : has announced a change in its CVS servers, and the Server Hostname should no longer be

but rather

CVS stands for Concurrent Versions System . It is a collection of files that includes not only the current version but all previous versions of each file in the set. CVS systems allow one to quickly identify the changes that have taken place between any two versions of any given file. For more information about the CVS concept, see [].

Most of Alpha's functionality is implemented in its collection of Tcl (Tool Command Language, a computer program) extension scripts that create the various modes, menus, and other features. All of these scripts use the building blocks provided by the core commands of the binary applications to create the user interface. Because these script files are not embedded in the core application, it is much easier to change various aspects of this interface, or to create additional modes, menus, and features. All of these script files are known collectively as AlphaTcl.

AlphaTcl is stored in a CVS repository on SourceForge, browseable at []. While public releases of Alpha8/X/tk always contain the most recent stable version of the AlphaTcl library, a dedicated group of volunteers is always at work enhancing these files to address various bugs or provide additional features requested in the listservs described in the AlphaTclMailingLists? page. The AlphaTcl CVS provides one method for any user to update their AlphaTcl library to the latest development versions, though many choose to wait until the next version of AlphaTcl has been declared 'stable' and released publicly.

A complete list of updater options is available at [].

See also CVS.CvsMessagesAndWhatTheyMean.

The following sections detail how mac, unix and windows users can gain access to the repository; macintosh users should use the version of MacCVS Pro and its session files that are provided with the Alpha executable. (See the MacCVS Pro Home Page at for software documentation.) Mac users will still find valuable information below however... (some mention should be made here regarding the dependence on UTCUtils and therefore a system requirement of Mac OS 9.0 or newer.)

Note: currently Alphatk assumes an encoding for AlphaTcl that is fixed in the distribution you downloaded (could be cp1252, macRoman or other -- look in alphatk.tcl). However, the repository is latin1 encoded (or for Tcl's purposes ISOmacRoman encoded), so appropriate conversion steps will be needed after checkouts/updates; this requirement will go away in the near future, or if you install the ISOmacRoman encoding and have Alphatk use that. (the appropriate .enc file for tcl based conversion is provided in Developer/Tools/encoding)

This is not a problem for mac users as MacCVS Pro takes care of the conversion automatically.


MacCVS Pro Instructions

Obtain the AlphaTcl CVS base installation [] and unpack it. The included version of MacCVS Pro 2.7 has patches that are required for use with the AlphaTcl repository. The enclosed :Alpha: directory is ${HOME} below.



in MacCVS Pro. All settings should be ready to go, but if you wish to verify them, select Edit --> Session Settings...

  1. Set Local Tree Directory to point to ${HOME}.
  2. Merge Policy should be 'Auto Merge Text Files and Update Binary Files'.
  3. Default Module should be 'Tools/AlphaTcl.maccvs'.
  4. Default Revision is 'HEAD'.
  5. Use gzip compression 3.

  1. Server hostname is ''.
  2. CVS Root is '/cvsroot/alphatcl'.
  3. Authentication Method is 'Password'.
  4. CVS User Name is 'anonymous'.
  5. CVS Password is empty.

Select Action --> Check Out Default Module (cmd-;). When checkout is complete, open


in MacCVS Pro (you can close 'UpdateMacCvsSession.maccvs').

Again, the settings should be correct for checkout, but you can verify that they are the same as above.

For users and developers with read-only pserver access:

  1. Server hostname is ''.
  2. CVS Root is '/cvsroot/alphatcl'.
  3. Authentication Method is 'Password'.
  4. CVS User Name is 'anonymous'.
  5. CVS Password is empty.

For members of the AlphaTcl SF project with read-write access:

  1. Server hostname is ''.
  2. CVS Root is '/cvsroot/alphatcl'.
  3. Authentication Method is 'SSH'.
  4. CVS User Name is your SF username.
  5. CVS Password is your SF password.

CLI Instructions (csh assumed)

It is suggested you place the following in your ~/.cvsrc :

   cvs -z3
   diff -u
   update -P -d
   checkout -P

For users and developers with read-only pserver access:

	setenv CVSROOT ''
	cvs login

For members of the AlphaTcl SF project with read-write access:

	setenv CVS_RSH ssh

	setenv CVSROOT ''

Checkout, Update

The repository is designed to be checked out in your Alpha directory, i.e. the AlphaTcl $HOME (MacCVS Pro users, see the note above about the initial checkout).

MacCVS Pro Instructions



in MacCVS Pro.

Select Edit --> Session Settings... --> Checkout and Update

  1. Default Module should be 'AlphaTclDevel'
  2. Default Revision is 'CURRENT' (or 'HEAD' for thrill-seekers).

  1. Default Module should be 'AlphaTcl'
  2. Default Revision is 'STABLE'.

To checkout, select Action --> Check Out Default Module.

To update, select Action --> Update.

CLI Instructions (csh assumed)

To checkout execute the following in AlphaTcl $HOME:

	cvs co -A -r CURRENT AlphaTclDevel

	cvs co -A -r STABLE AlphaTcl

To update, execute the following in AlphaTcl $HOME

	cvs up *

(ignore the warning about 'CVS' being specified in the argument)

Developers could use '-r HEAD' to get the absolute latest version of everything in the repository, but that will be less stable, and much more likely to have bugs.

Alphatk instructions

Download Alphatk and follow the above instructions (CLI) to get a working checkout of AlphaTcl. You will notice that Alphatk already contains an AlphaTcl distribution. Replace that distribution with the checked-out version (containing 'CVS' directories etc). Be careful not to delete any part of the hierarchy (AlphaCore, AlphaGifs, for example) which is not included in the checked-out copy.

Now edit 'alphatk.tcl' and change the default encoding to 'ISOmacRoman' (search for the string "macRoman"). You need to do this because you've just replaced a 'macRoman' encoded AlphaTcl with an 'ISOmacRoman' one. Now start up Alphatk as usual. There may be some issues wrt your preferences being in the wrong encoding.

Once you have this setup up and running, you can update AlphaTcl in place. Updates to the non-AlphaTcl parts of Alphatk must still be done by downloading an Alphatk distribution.

The sections on details of AlphaTcl CVS internals have been relocated to CVS.AlphaTclCVSModulesStatesAndTags.

das 6/11/01 jeg 6 Oct 2001


Retrieved from
Page last modified on October 02, 2008, at 08:36 PM