Snapshots



Software engineering at its best combines talented engineers with right-sized processes to produce software that meets customer requirements. Part of a good software development process is the ability to identify exactly which source code files and components are part of a given build, release candidate or generally available software release. Engineering managers must be able to answer quickly the questions “what code was in last night’s build” or “which defects were corrected in this month’s patch release”. Further, iterative processes such as continuous integration require the ability to identify uniquely a code base in order to facilitate accurate testing and verification.

In AccuRev, the Snapshot feature enables managers and release engineers to quickly identify and preserve any code configuration from any stream. Unlike branches or labels, which can take hours to create in legacy SCM systems, AccuRev Snapshots require seconds to create. Snapshots are stored as metadata in the AccuRev repository and require no per-file operations to create. Once created, a Snapshot is persistent, enabling release teams to easily identify release components and if necessary, to rollback to a known configuration. It is even possible to base new work off of a Snapshot, so that teams can work from a stable configuration to, for example, ship an emergency patch to a customer. Snapshots can be created based on any past date or transaction number, assuring that any past configuration can be easily recreated.

snapshot

Key features

  • Fast Snapshot creation involves no per-file operations
  • Ability to capture and retrieve any release configuration
  • Snapshots can be queried to retrieve file or issue information
  • Large (2G) number of Snapshots can be created, ideal for active processes such as agile with continuous integration
  • Snapshots are data-based and do not take up disk space with copies of files