For substantial software systems (say, 500k source lines or larger), effective software configuration management (SCM) is a serious problem. It is not generally known how to make a configuration management system that is both easy to use and general enough to handle multi-million line software projects. As a result, the world is full of easy-to-use, small-scale configuration management tools and large-scale, hard-to-use ones.
Vesta is a portable SCM system targeted at supporting development of software systems of almost any size, from fairly small (under 10,000 source lines) to very large (10,000,000 source lines).
Vesta is a mature system. It is the result of over 10 years of research and development at the Compaq/Digital Systems Research Center, and it was in production use by Compaq's Alpha microprocessor group for over two and a half years. The Alpha group had over 150 active developers at two sites thousands of miles apart, on the east and west coasts of the United States. The group used Vesta to manage builds with as much as 130 MB of source data, each producing 1.5 GB of derived data. The builds done at the eastern site in an average day produced about 10-15 GB of derived data, all managed by Vesta. Although Vesta was designed with software development in mind, the Alpha group demonstrated the system's flexibility by using it for hardware development, checking their hardware description language files into Vesta's source code control facility and building simulators and other derived objects with Vesta's builder. The members of the former Alpha group, now a part of Intel, are continuing to use Vesta today in a new microprocessor project.
In the latter half of 2001, Vesta was released by Compaq under the GNU LGPL.
An introduction to the main concepts used in Vesta. It describes Vesta's advantages over traditional software configuration management tools, how those benefits are achieved, and the system's overall performance.
The definitive research report describing the entire system in detail. This is the most complete reference for the system. (Note that this is a research report, not a user's manual.)
An earlier version of the book-length research report.
A technical note defining the Vesta software description language. Slightly outdated. Refer to the language specification instead.
This report explains the concepts behind Vesta's replication capabilities, which are central to distributed development using Vesta.
A technical paper on fine-grained dependency analysis and caching. These techniques are the basis for Vesta's incremental build support.
Slides describing Vesta presented at CodeCon 2004.
This document walks you through an example use of Vesta. The tutorial covers the main commands you'll need to know as a Vesta user.
This set of slides is designed as a short class (2 hours) to introduce new users to the Vesta System Description Language. (See also the language reference below.) The examples from these slides can found in the package /vesta/vestasys.org/examples/sdl_intro which can be replicated from pub.vestasys.org .
This set of slides is designed as a short class (2 hours) to introduce people to integrating new tools and tool flows into Vesta builds. This assumes some initial knowledge about SDL, so going through the previous set of slides first may help. (See also the language reference below.) The examples from these slides can found in the package /vesta/vestasys.org/examples/bridge_intro which can be replicated from pub.vestasys.org .
This document summarizes the most common Vesta commands.
This is a reference guide to the Vesta System Description Language, which is how builds are described under Vesta. (It still needs some work in a few places.) There is also the more precise technical specification of the SDL, but it's not terribly useful until you have a basic grasp of the language.
This is a complete and precise specification of the Vesta SDL. Also appears as Appendix A of the book-length research report. (Note: this is not a guide for new users. For that, see the language reference.)
Usage notes: short documents on tips, tricks, and advanced usage.
API documentation. (If you're interested in modifying or extending Vesta, you might want to start here.)
Hosting donated by:
Enertron LLC and
Hardware, and original research, provided by:
Several components of Vesta use the Boehm-Demers-Weiser conservative garbage collector.
Some components of Vesta use zlib for compression.