The core technologies underlying software configuration managementhave changed little in more than two decades. Developmentorganizations struggle to manage ever larger software systems with tools that were never designed to handle them. Their development processes are warped by the inadequacies of their building and version management tools. Developers must take time from writing and debugging code to cope with the operational problems thrust upon them by their build system's inade quate support of large-scale concurrent development. Vesta, a novel system for large-scale software configuration management, offers a better solution. Through a unique integration of building and version management facilities, Vestaconstructs software of any size repeatably, incrementally, and consis tently. Since modem software development occurs worldwide, Vesta supports con current, multi-site, distributed development. Vesta's core facilities are methodologi cally neutral, allowing development organizations a wide range of flexibility in the way they arrange their code repositories and structure the building of system com ponents. In short, Vesta advances the state of the art in configuration management.
This book presents a comprehensive survey of the Vesta system for software configuration management (SCM). Vesta, unlike other SCM systems, is specifically designed to handle very large software projects comprising tens of millions of lines of code and beyond. Researchers in the field of software engineering and specialists in the construction of software development tools will especially benefit from this work, but it will also appeal to those responsible for designing and deploying configuration management solutions for large software systems.
Three important but hard-to-achieve properties lie at the heart of Vesta's unique approach to software configuration management:
Every build is repeatable
Every build is incremental
Every build is consistent
To realize these properties in a practical SCM system, Vesta provides a novel repository to store the versions of the files that make up an evolving software system and a flexible language for writing modular configuration descriptions that define how the system is put together. This book explains in depth these facilities and the suite of tools that supports them, together with a methodology for applying them in practice.
Readers who seek more information about Vesta may download the entire system as well as other publications, reference documents, and user documentation from the Vesta home page at http://www.vestasys.org.