A.5. Integration Tools
Developers rarely use CVS in isolation. The tools described in this section coordinate CVS with other programs. Some integrate CVS into IDEs; others are used in separate windows but ensure CVS can manage an IDE's files properly.
abCVS is a plugin for CodeWarrior that allows you to use CVS without leaving the CodeWarrior IDE. It requires CodeWarrior and a command-line CVS implementation such as CVSNT (explained in Appendix B). The developers of abCVS also recommend that you have a CVS client such as WinCVS.
abCVS implements the standard suite of necessary CVS commands, along with some of the additional features. Most commands can run on a single file, or they can run recursively down a directory tree. abCVS is available from http://www.iaanus.com/abCVS/.
Anjuta is an IDE for the Linux and Unix operating systems that relies on the Gnome libraries. It supports more than a dozen languages (including C/C++, Java, Python, Perl, and ADA) and provides an integrated debugging facility, syntax highlighting, context-sensitive help, and support for autoconf and automake.
Anjuta provides simple, clean access to CVS commands on files in CVS sandboxes, including an intuitive interface to cvs diff. Anjuta is available from http://anjuta.org.
BBEdit is an HTML and text editor for the Macintosh that includes an integrated CVS and Subversion client that supports multiple repositories. BBEdit is available from http://www.barebones.com/products/bbedit.html.
CVSIn is an add-in for Microsoft Visual Studio that integrates Microsoft Visual Studio and WinCVS. It permits most simple CVS commands to operate directly from Microsoft Visual Studio and relies on WinCVS for more complex CVS commands and commands that operate on directories rather than individual files.
Once CVSIn is installed, new toolbar options are available in Microsoft Visual Studio. Most of the following options operate on the selected file: update, commit, diff, log, status, edit, watch, tag, and branch. There is also an option to launch WinCVS. Output from commands is displayed in a screen at the bottom of the window. CVSIn is available from http://www.geocities.com/kaczoroj/CvsIn/.
CWCVS is a plugin for CodeWarrior that allows you to use MacCVS without leaving the CodeWarrior IDE. It is available for the Macintosh and requires CodeWarrior Gold 11 or later, MacCVS, and a CVS repository.
CWCVS is implemented in CodeWarrior as an additional menu and provides most of the CVS functions, though you need to use MacCVS for checkout and some of the administrative or advanced functions. CWCVS provides dialogs for the commands that take parameters, and it displays command output in separate windows. CWCVS is available from http://www.electricfish.com/products/CWCVS/.
Eclipse is an open source development environment that runs on Windows, Linux, and Unix systems and is designed to support Java developers. It is extensible, and the developers encourage plugin support for other systems and languages. A CVS client is built in, and can be found in the Window and Projects menus. Eclipse is available from http://wiki.eclipse.org/index.php/Development_Resources.
A.5.7. Jalindi Igloo
Jalindi Igloo works with any SCC-API-compliant environment and should work with the programs listed at http://www.jalindi.com/igloo/Compatibility/compatibility.html. Examples of SCC-API-compliant environments include: Microsoft Visual Studio, Macromedia ColdFusion, and IBM VisualAge for Java.
Igloo provides the usual set of CVS commands and an optional auto-commit mode that automatically commits added or deleted files to the repository and automatically updates files when they are edited in the IDE. Jalindi Igloo is available from http://www.jalindi.com/igloo/.
NetBeans is an IDE that includes a built-in CVS client, as well as clients for other version control systems. CVS integration is implemented as a plugin, in which the CVS sandbox is represented within the IDE as a filesystem and the CVS commands are available through a right-click menu. NetBeans also provides a command line to use for more complex CVS tasks.
The NetBeans system (platform and IDE) is open source. NetBeans is available from http://www.netbeans.org.
VC is the Emacs version control interface, and it provides a consistent user interface regardless of which version control system is actually recording changes.
VC is part of the Emacs editor. The relevant part of the Emacs manual is at http://www.gnu.org/software/emacs/manual/html_node/Version-Control.html. You need to configure VC to use CVS; the instructions for doing so are in the "Customizing VC" section of the Emacs manual.
Vim is a popular editor for Unix and Linux. The graphical version of Vim offers a choice of scripts that add a CVS menu. The more recent script is vcscommand.vim, and is available at http://vim.sourceforge.net/scripts/script.php?script_id=90.
It's also worth searching the scripts database for other CVS scripts that integrate with Vim: there are several different scripts for viewing differences between file versions, a CVSNT menu, and a script that logs your CVS commands.
A.5.11. Zeus SCC-CVS
Zeus SCC-CVS uses the SCC-API to connect the Zeus development environment to CVS. It should also work with any editor or development environment that uses the SCC-API.
With Zeus SCC-CVS, all CVS commands are accessed under the Workspace menu, but only a limited number of commands are available within the editor. By default, Zeus SCC-CVS automatically updates the sandbox, retrieving the most current revision from the repository when Zeus is opened. Zeus SCC-CVS is available at http://www.zeusedit.com/index.html.