Instructions for accessing the cvs repository are at http://sourceforge.net/cvs/?group_id=24259. I recommend using the -P option with checkout and update commands, because when I initially imported my code I screwed up and ended up with a bunch of junk files and directories. I deleted the junk files, but the directories still show up. Using the -P option causes the now empty junk directories to be deleted.
Access to the repository via the web can be found at http://tkoutline.sourceforge.net/cvs. The source code consists of http://tkoutline.sourceforge.net/cvs/main.tcl and all the subdirectories in http://tkoutline.sourceforge.net/cvs/lib.
- Core outline code - http://tkoutline.sourceforge.net/cvs/lib/outlinewidget
- Main application code - http://tkoutline.sourceforge.net/cvs/lib/tkoutline
- Syntax highlighting for wiki markup - http://tkoutline.sourceforge.net/cvs/lib/markup
- Functions for various tree transformations - http://tkoutline.sourceforge.net/cvs/lib/treeconvert
- OO system - http://tkoutline.sourceforge.net/cvs/lib/xotcllite
- Left behind experiments - http://tkoutline.sourceforge.net/cvs/lib/tdomtree and http://tkoutline.sourceforge.net/cvs/lib/tabletree
Note that http://tkoutline.sourceforge.net/cvs is just a redirect to http://cvs.sourceforge.net/viewcvs.py/tkoutline/tkoutline/.
2004-4-17 Derek Peschel Notes about the CVS version for first-time downloaders
After downloading the source distribution of version 0.93, I wanted to see if some problems had been fixed in the CVS version. Upgrading is not hard, but requires understanding a few concepts and doing a few steps.
1. Understanding CVS paths
A CVS repository resides on a specific computer, in a specific directory (the "root") and its subdirectories. For TkOutline, the machine is currently cvs.sourceforge.net and the root is currently /cvsroot/tkoutline. The SourceForge Web-to-CVS interface shows the root in its current directory listings as cvs / tkoutline. You might see it in logs or elsewhere. CVS, and the Web interface, won't let you do anything above the root. So once you've checked out TkOutline, I suggest just ignoring the root when you see it.
The current TkOutline sources are in a subdirectory of the root called tkoutline. Don't ignore this; it has a definite meaning.
2. Checking out the distribution
The process of getting a CVS client is not specific to TkOutline. Except for the information you fill in, the process of checking out TkOutline is not specific to TkOutline either. So I won't describe them here.
Say you have the 0.93 distribution inside /usr/local/src/tkoutline-0.93.
Say your current directory is /usr/local/cvs/ and you type
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/tkoutline co -P tkoutline
You will then have these files and directories:
usr/ local/ src/ tkoutline-0.93/ Call this DIR1. COPYING bin/ doc/ lib/ main.tcl cvs/ tkoutline/ Call this DIR2. lib/ main.tcl
3. Libraries not included in the CVS version
These directories inside DIR1/lib (and their contents) must be copied to DIR2/lib:
- BWidget-1.3.1
- crc
- icons
- struct
- tcldom
- tclxml
- textutil
- uri
- wcb2.8
4. Other changes from version 0.93
If you're comparing DIR1 and DIR2, here's what to expect.
These files have been removed. Most of the contents were added to existing files:
- lib/outlinewidget/collapse.gif
- lib/outlinewidget/expand.gif
- lib/outlinewidget/leaf.gif
- lib/tabletree/tabletree.tcl.bak
- lib/tkoutline/tclcode2outline.tcl
These files have been moved into lib/tkoutline:
- .tkoutline.def
- COPYING
- the whole doc directory
- bin/tkoutline.tcl
These files have been added:
- lib/outlinewidget/treeundo.tcl
- lib/outlinewidget/treeundo.test
- lib/tkoutline/pkgIndex.tcl
5. Getting TkOutline to run
After copying the directories from item 3, I had to do two more things. I'm using Macintosh OS 10.3.7, which is based on BSD UNIX, without any kind of StarKit package.
- Set the TCLLIB environment variable to the absolute path of DIR2.
- Comment out the statements in main.tcl that mention StarKit.
That's it! wish main.tcl works perfectly.
Brian Theado - thanks for the thorough documentation. Another alternative that lags CVS only during larger, less stable changes is the starkit http://tkoutline.sourceforge.net/tkoutline-devel.kit. All that is needed to run this starkit is the single file tclkit from http://www.equi4.com/pub/tk. The standard ActiveTcl (http://tcl.activestate.com) distribution contains support for starkits (just using wish). For Mac OS X, I believe wish in the full AquaTclTk distribution supports starkits and also wishkit can run starkits. I can't recommend starkits enough. They are easy to distribute, easy to download and run and uninstall and the source code is all included (just extract with sdx from http://www.equi4.com/sdx.html).
Other reasons why starkits are cool: http://mini.net/sdarchive and http://wiki.tcl.tk/13404. The latter is a single starkit that contains almost 90 Tcl/Tk games and it uses tkoutline as the game launcher. Now I'm getting a bit off the topic of this page.