Motor is a text-mode integrated programming environment for Linux. It consists of an editor with syntax highlighting, a project manager, a makefile generator, gcc, ctags, gdb, autoconf/automake and grep front-ends. CVS integration is also provided. It allows one to edit, compile, and debug programs without a need to leave the IDE, automatically check in/out files from a CVS repository and import projects into CVS, and generate distribution packages (tar.gz and RPM). The color schemes are customisable.
cvsroot is a script to help keep track of multiple sites when using CVS, and in particular the CVSROOT and CVS_RSH environment variables for those sites. It creates a $HOME/.cvsroot file, with shortcut names representing the different CVS sites. The new environment variables appropriate to the site selected will then be set, and a new shell will be spawned to keep the variables. In this way, you do not have to keep setting the environment yourself, and can rely on the script to keep track of things for you.
arch is a modern replacement for CVS, specifically designed for the distributed development needs of open source projects. It has uniquely good support for development on branches (especially good merging tools), distributed repositories (every developer can have branches in their own repository), changeset-oriented project management (arch commits changes to multiple files at once), and, of course, file and directory renaming.
The LibXDiff library implements basic and yet complete functionalities to create file differences/patches to both binary and text files. It uses memory files as file abstraction to achieve both performance and portability. For binary files, it implements both (with some modification) the algorithm described in "File System Support for Delta Compression" by Joshua P. MacDonald and the algorithm described in "Fingerprinting By Random Polynomials" by Michael O. Rabin. For text files, it follows directives described in "An O(ND) Difference Algorithm and Its Variations" by Eugene W. Myers. Memory files used by the library are basically a collection of buffers that store the file content.
The Distributed Concurrent Versioning System (DCVS) extends the well-known version control system CVS and the file distribution and synchronization program CVSup with functionality to distribute CVS repositories with local lines of development and handle synchronization of the distributed repositories automatically in the background. Development lines (branches) are owned by a repository server, repository servers efficiently update each other via CVSup, and CVS ensures correct server use on checkin and branch creation.
kdesvn-build is a script to automate the process of downloading, building, and installing KDE from its Subversion source repository. It supports many advanced features such as partial checkout/build of a module, the unsermake build system, incremental make, module checkouts using Subversion snapshots from the kdesvn-build.kde.org site, and repeatable builds. Many options are available, and they apply to every module by default, but most options can be overridden on a module-by-module basis. Every command it executes is logged.