The activities of configuration management and version control are common to a number of engineering tasks. These activities are particularly important for software engineers, since during most of a system lifecycle they have to deal with a growing number of versions of a single component, and to rebuild the complete system in different ways using different components. These tasks are repetitive and trivial, and they require a lot of manual work and accuracy. In this paper, we show how the problem of automating these activities has been solved in a number of software development environments. We describe the evolution of systems for configuration management and version control from simple stand-alone tools, such as make and SCCS (based on an underlying file system), towards more integrated systems based on a project database.
['Vincenzo Ambriola', 'Lars Bendix', 'Paolo Ciancarini']
The evolution of configuration management and version control