Using distributed version control systems to improve project management and collaboration

Date
2013-03-02
Authors
Chauvette, Benjamin
Contributor
Advisor
Department
Instructor
Depositor
Speaker
Chauvette, Benjamin
Researcher
Consultant
Interviewer
Annotator
Journal Title
Journal ISSN
Volume Title
Publisher
Volume
Number/Issue
Starting Page
Ending Page
Alternative Title
Abstract
Description
Although recent years have seen an increasing focus on collaboration within language documentation projects, there has not been a commensurate push to create software that allows project members to efficiently work together. While some software, such as SIL’s FieldWorks suite, does support limited multi-user capabilities, they are often inadequate for the needs of teams whose members are technologically or geographically separated from each other. As a result, projects must resort to workarounds that are either error-prone (e.g. trust-based file access restrictions) or massively redundant (e.g. repeatedly copying the entire project folder as a backup). Similar obstacles to collaborative efforts are found in software development, where projects often require developers in different locations to edit the same files concurrently. To enable such collaboration, software developers have created VERSION CONTROL SYSTEMS that can track, manage, and even undo every change made to a project. Traditionally, these systems use a client-server model that requires developers to connect to a network and then check files into and out of a centralized repository. Within the last decade, however, developers have begun to use DISTRIBUTED VERSION CONTROL SYSTEMS (DVCS), which use a decentralized peer-to-peer model rather than a client-server one. Instead of checking files out of a centralized repository, developers using DVCS typically clone a whole repository onto their own computer, make changes to the clone, and then later merge it back into the original repository. This distributed design allows for more flexible project structures, while still retaining the major benefits of traditional version control systems, such as file histories and the ability to roll back undesirable changes. The current presentation examines how DVCS such as Mercurial (http://www.git-scm.com/),Git (http://mercurial.selenic.com/), and Chorus (http://projects.palaso.org/projects/chorus) can be used to manage data for language documentation projects. Two features of DVCS are especially beneficial in this regard. First, DVCS tools are generally data agnostic, which allows projects to continue using their preferred linguistics software (e.g. Toolbox or FLEx), while still gaining the aforementioned benefits of version control systems. Second, the peer-to-peer structure of DVCS allows project members to continue collaborating even in the absence of a common network. DVCS therefore helps satisfy the recent call for more collaboration within language documentation, without requiring the development of entirely new linguistics software suites.
Keywords
Citation
Extent
Format
Geographic Location
Time Period
Related To
Table of Contents
Rights
Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported
Rights Holder
Local Contexts
Email libraryada-l@lists.hawaii.edu if you need this content in ADA-compliant format.