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 update , commit , add , remove , edit , log , status , and diff commands. Most commands can run on a single file, or they can run recursively down a directory tree. abCVS is still in an early stage of development.
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. Version 7 for OS X includes an integrated CVS client that supports multiple repositories. BBEdit is available from http://www. barebones .com/products/bbedit.html.
CVSIn is an add-in for Microsoft Developer Studio that integrates Microsoft Developer Studio and WinCVS. It permits most simple CVS commands to operate directly from Microsoft Developer 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 Developer Studio. Most of these 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://dev.eclipse.org/.
Jalindi Igloo works with any SCC-API-compliant environment and is being tested 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 module, and there are two modules available. In both modules, 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/.
PCL-CVS integrates CVS with Emacs. It relies on VC, the Emacs version control interface, to allow you to use the basic CVS commands within Emacs. PCL-CVS expands VC to allow CVS to work with directories as well as individual files. It also provides an overall view of the project.
PCL-CVS is available via http://www.cvshome.org/dev/addonpclcvs.html.
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 provides only the basic functions of CVS. To use advanced CVS functions with Emacs you need to use PCL-CVS, or you can combine use of VC with use of the command- line CVS client.
VC is part of the Emacs editor. The relevant part of the Emacs manual is at http://www.gnu.org/manual/emacs/html_node/emacs_127.html#SEC127. 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 script that adds a CVS menu. The script is available at http://www.vim.org/script.php?script_id=58.
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/archives/scccvs.html.