Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.
For the best experience please use the latest Chrome, Safari or Firefox browser.
Applications of Distributed Version Control Technology to the Creation of Digital Scholarly Editions
Group for Experimental Methods in the Humanities
What is version control, and why should I care?
As textual scholars, we care about:
- textual difference
- versions of texts
- collaborative editing
- semantic metadata
So do version control systems! It’s a perfect match!
Problems with Electronic Texts
- Difficult to edit
- Editorial histories often obscure
- Stuck in the hands of the few
Version control systems:
- Store every version of a document / project
- Store metadata about every edit: who made the change, when the change happened, what changed
- Facilitate collaboration, analysis, version management
About version control systems:
- Git, mercurial, svn, bazaar
- Open-source, community-owned
- Some centralized, some decentralized
- Used very widely by coders (over 10 million GitHub repositories)
- Starting to be used by humanists
Version Control is Useful
- Writing papers
- Collaborating
- Text collation
- Analyzing differences between texts
Features:
- Temporarily reset your project to an earlier version:
git checkout <change number>
git revert <change number>
- Combine changesets from two versions:
git merge <branch name>
Version Control is Efficient
Fruit v1.0: apples, oranges, bananas Fruit v1.1: apples, oranges, bananas, pineapples
Ordinary filesystem:
- Fruit1.0.txt, fruit1.1.txt
- Contains redundant copies of apples, oranges, bananas.
Version control system
Git database contains parts:
- A: apples, oranges, bananas
- B: pineapples
Versions are compiled from these parts:
- v1.0: part A
- v1.1: parts A+B
Distributed Version Control
- Doesn’t privilege a central text, repository, user, or computer
- Anyone can pull changes from anyone
- Democratization of scholarly editing?
Version Control Cloud Services
- GitHub: a place for git repositories
- Also BitBucket, GitLab, etc.
- Back up your project in the cloud
- Make it open-source, allowing others to contribute
Project Management
- Issues
- Wiki
- Milestones
- Analysis
Digital Pedagogy in the Humanities
GITenberg
About GITenberg
- ~45,000 books
- Anyone can edit (“crowdsourced”)
- Gitenberg.org
Git-Lit
About Git-Lit
- Open-source initiative to parse and post to GitHub 50,000 works from the British Library
- Parsing ALTO XML, generating Markdown
- Creating beautiful web-based reading editions for each
- Many will be first electronic publications
- Anyone can get involved!
To Get Started
- Edit in the browser!
- Get a command line
- Learn basic commands
- Use plain text formats (Markdown, XML, LaTeX)
- Download git
- Get a GitHub username