SoftwareX (Jan 2019)
RepoFS: File system view of Git repositories
Abstract
Empirical software engineering work often involves studying revision control system repositories maintained using the popular Git system. Checking out each revision one wants to study is inefficient. On the other hand the examination of directories and files of past revisions using Git’s commands suffers from a usability perspective. We introduce repofs, a tool that exposes a Git repository as a virtual user-level file system. Commits, branches, and tags appear as separate directory trees allowing them to be efficiently processed through command-line tools and file explorers. We illustrate these points through motivating examples and discuss the advantages and drawbacks of the proposed approach. Keywords: Git, Virtual file system, Mining software repositories, Unix shell