SUMMARYWe present a file system named VCFS, a Version Control File System that provides transparent version control of files. VCFS is implemented as an installable file system in the Unix operating system. The facility is transparent to users in the sense that VCFS automatically stores changes between incremental versions of a file without user intervention. Access to the latest version of the file retains traditional Unix semantics, enabling all existing Unix applications to be run modified under VCFS if so desired. VCFS provides system call enhancements and supports application level utilities for version number retrieval, displaying changes between two versions of a file, upgrading to a new release number, and related version control functions. Performance measurements show that VCFS provides a significant increase in version control operations compared to application level change management systems such as SCCS, and that the space utilization is significantly better than of the existing version control systems. The primitives and facilities provided by VCFS can be exploited for use in a wide range of applications, ranging from immutable files, transaction processing and file replication support in a distributed file system, to the development of enhanced change management control systems for software project management. ©1997 by John Wiley & Sons, Ltd.key words: version control; software engineering; installable file system; immutable files THE NEED FOR VERSION CONTROL FILE SYSTEMS Efficient version control mechanisms are increasingly required by a wide range of Unix applications. In distributed systems which support file replication across distinct hosts, versioning support is necessary to identify copies of the same file stored on different hosts and determine the hosts that have the latest version of a file.