Version control
Tracking changes, edits, and file revisions
Version control is the process of managing and tracking changes to files over time. During active research, multiple versions of data, documents, code and supporting materials are often created as data are cleaned, updated and analysed.
Without clear version control, it can become difficult to identify which files are current, which were used to generate results, and how files relate to one another. This increases the risk of errors, duplication and misinterpretation.
Effective version control supports transparency, collaboration and data integrity throughout a project.
It is important to ensure that different copies or versions of files, files held in different formats or locations, and information that is cross-referenced between files are all subject to version control.
It can be difficult to locate a correct version or to know how versions differ after some time has elapsed. A suitable version control strategy depends on whether files are used by single or multiple users, in one or multiple locations, and whether versions across users or locations need to be synchronised or not, so that if information in one location is altered, the related information in other locations is also updated.
- Decide how many versions of a file to keep, which versions to keep, for how long and how to organise versions.
- Identify milestone versions to keep, e.g. Major versions rather than minor versions (keep version 02-00 but not 02-01).
- Uniquely identify different versions of files using a systematic naming convention, such as using version numbers or dates.
- Record changes made to a file when a new version is created.
- Record relationships between items where needed, for example, between code and the data file it is run against; between data file and related documentation or metadata; or between multiple files.
- Track the location of files if they are stored in a variety of locations.
- Regularly synchronise files in different locations, such as using MS SyncToy software.
- Identify a single location for the storage of milestone and master versions.
- The date recorded in the file name or within the file, for example, HealthTest-2008-04-06.
- Version numbering in the file name, for example, HealthTest-00-02 or HealthTest_v2.
- A file history, version control table or notes included within a file, where versions, dates, authors and details of changes to the file are recorded.
- Version control facilities within the software used.
- Using versioning software, e.g. Subversion.
- Using file-sharing services, such as Dropbox or Google Docs.
- Controlling rights to file-editing.
- Manual merging of entries or edits by multiple users.
Version numbering in file names can be through discrete or continuous numbering depending on minor or major revisions.
Example:
| Filename | Changes to file |
|---|---|
| Interviewschedule_1.0 | Original document |
| Interviewschedule_1.1 | Minor revisions made |
| Interviewschedule_1.2 | Further minor revisions |
| Interviewschedule_2.0 | Substantive changes |
Example version control table:
Document Control
| Item | Description |
|---|---|
| Title: | COVID-19 PCR tests in Essex schools |
| File Name: | PCRResultsEssex_00_05 |
| Description: | Results data of 180 COVID-19 PCR tests carried out in 2 schools in January 2021 |
| Created By: | Chris Wilkinsir |
| Maintained By: | Sally Watsley |
| Created: | 11/01/2025 |
| Last Modified: | 30/03/2025 |
| Based on: | PCRDatabaseDesignEssex_03_00 |
Version History
| Version | Responsible | Notes | Last amended |
|---|---|---|---|
| 00_05 | Vani Yussun | Entries checked by VY, independent from SK | 30/03/2025 |
| 00_04 | Steve Knights | Entries checked by SK | 12/03/2025 |
| 00_03 | Karin Millys | Test results 121-180 entered | 25/02/2025 |
| 00_02 | Karin Millys | Test results 61-120 entered | 05/02/2025 |
| 00_01 | Karin Millys | Test results 1-60 entered | 11/01/2025 |