Metagit:: decentralised metadata management with Git
Metagit:: decentralised metadata management with Git
Version control systems are used widely for tracking edits to data files, especially when working in teams with simultaneous editors. They track who made edits and when, and provide tools for comparing changes made and for resolving conflicts when the same file is edited by two people. Attaching metadata to files which stays with the data and tracking changes can be difficult if the file format does not support it. In this paper we present a new and innovative architecture for recording key-value metadata for objects in a revision control system, specifically Git. The utility and maturity of version control system tools make them a good candidate for a metadata store. We take advantage of Git's data store to permit the values to be blobs, opening up other possibilities such as defining thumbnails for files and folders. Propagation rules are presented, detailing when metadata follows a file after modifications to the repository. A prototype version of a tool is presented and the usefulness of the architecture is demonstrated with a number of examples. Adapting the approach to other systems such as Mercurial and Subversion is also discussed.
78-92
Scott, Mark
64313def-cd6c-4f28-8efc-00f927ea8607
Johnston, Steven J.
6b903ec2-7bae-4a56-9c21-eea0a70bfa2b
Cox, Simon J.
0e62aaed-24ad-4a74-b996-f606e40e5c55
April 2017
Scott, Mark
64313def-cd6c-4f28-8efc-00f927ea8607
Johnston, Steven J.
6b903ec2-7bae-4a56-9c21-eea0a70bfa2b
Cox, Simon J.
0e62aaed-24ad-4a74-b996-f606e40e5c55
Scott, Mark, Johnston, Steven J. and Cox, Simon J.
(2017)
Metagit:: decentralised metadata management with Git.
Information Systems, 65, .
(doi:10.1016/j.is.2016.09.002).
Abstract
Version control systems are used widely for tracking edits to data files, especially when working in teams with simultaneous editors. They track who made edits and when, and provide tools for comparing changes made and for resolving conflicts when the same file is edited by two people. Attaching metadata to files which stays with the data and tracking changes can be difficult if the file format does not support it. In this paper we present a new and innovative architecture for recording key-value metadata for objects in a revision control system, specifically Git. The utility and maturity of version control system tools make them a good candidate for a metadata store. We take advantage of Git's data store to permit the values to be blobs, opening up other possibilities such as defining thumbnails for files and folders. Propagation rules are presented, detailing when metadata follows a file after modifications to the repository. A prototype version of a tool is presented and the usefulness of the architecture is demonstrated with a number of examples. Adapting the approach to other systems such as Mercurial and Subversion is also discussed.
Text
paper.pdf
- Accepted Manuscript
More information
Accepted/In Press date: 7 September 2016
e-pub ahead of print date: 1 November 2016
Published date: April 2017
Organisations:
Computational Engineering & Design Group
Identifiers
Local EPrints ID: 400283
URI: http://eprints.soton.ac.uk/id/eprint/400283
ISSN: 0306-4379
PURE UUID: bafe73a1-66fa-4884-b82c-17d5895f4183
Catalogue record
Date deposited: 13 Sep 2016 14:31
Last modified: 15 Mar 2024 05:53
Export record
Altmetrics
Download statistics
Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.
View more statistics