The Vesta Software Configuration Management System

The Vesta Software Configuration Management System
复制标题

Vesta 软件配置管理系统

DOI:
--
复制
发表时间:
2002
期刊:
影响因子:
--
通讯作者:
Lytton Avenue
Lytton Avenue
中科院分区:
--
文献类型:
--
作者:
Allan Heydon;R. Levin;T. Mann;Yuan Yu;Lytton Avenue

文献摘要

被引文献

相似文献

Vesta 是一个软件配置管理系统。它存储源文件的集合,跟踪哪些文件的哪些版本组合在一起,并自动执行从其组件构建完整软件工件的过程。与其他软件配置管理系统不同,Vesta 专门设计用于处理非常大的项目——数千万行代码甚至更多。灶神星的新颖方法赋予了它其他系统所不具备的三个重要特性。首先,每个构建都是可重复的,因为它的组件源和构建工具都是不可变且永久存储的,并且它的配置描述完整地描述了使用了哪些组件和工具以及如何将它们组合在一起。其次,每个构建都是增量的,因为先前构建的结果会被缓存和重用。第三,每个构建都是一致的,因为所有构建依赖项都会自动捕获、记录和检查,因此只有在确定正确时才会重用先前构建的缓存结果。此外,Vesta 用于编写配置描述的灵活语言可以轻松地以模块化方式描述大型软件配置,并通过自定义构建参数来创建变体配置。本报告详细描述了 Vesta 技术并讨论了我们实施的性能。
Vesta is a system for software configuration management. It stores collections of source files, keeps track of which versions of which files go together, and automates the process of building a complete software artifact from its component pieces. Unlike other software configuration management systems, Vesta was specifically designed to handle very large projects—tens of millions of lines of code and beyond. Vesta’s novel approach gives it three important properties not available in other systems. First, every build is repeatable, because its component sources and build tools are stored immutably and immortally, and its configuration description completely describes what components and tools are used and how they are put together. Second, every build is incremental, because results of previous builds are cached and reused. Third, every build is consistent, because all build dependencies are automatically captured, recorded, and checked, so that a cached result from a previous build is reused only when doing so is certain to be correct. In addition, Vesta’s flexible language for writing configuration descriptions makes it easy to describe large software configurations in a modular fashion and to create variant configurations by customizing build parameters. This report describes the Vesta technology in detail and discusses the performance of our implementation.