this post was submitted on 15 Apr 2024
35 points (94.9% liked)
Git
2904 readers
1 users here now
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Resources
Rules
- Follow programming.dev rules
- Be excellent to each other, no hostility towards users for any reason
- No spam of tools/companies/advertisements. It’s OK to post your own stuff part of the time, but the primary use of the community should not be self-promotion.
Git Logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
A PDF is available here, and analysis from Colyer 2016 is good.
This paper is fascinating in terms of ethnography. Consider: the paper mentions "branch" or "branches" dozens of times, but only says "tree" four times, and every instance is in the phrase "working tree". The paper never mentions "blob" or "blobs", "DAG" or "graph" or "poset". The authors either chose to omit git's data model, or they don't know about it. The implication is that the UX and UI don't reflect the data model, I suppose, but it is a very curious omission.
Now, contrast this with Git's documentation. When sysadmins teach git, we focus on the data first. git is a kind of database which stores four different flavors of object, and the git UI is merely a collection of commands for programmatically manipulating the database. All of the various UX is purpose-built, on a per-command basis, for development workflows. New commands can be implemented as plain UINX-style executable scripts in any language.
In summary, this paper looks at git as a version-control product, while its developers and users look at git as a version-control framework.
There was a followup paper from a few years later, also with Colyer 2016 analysis; this paper has too many glaring defects to discuss here.
On a personal note, I saw this and am happy to note that science has marched along:
Not long after this paper, ontology logs were figured out, which can be made as expressive as needed for the case of relations; see Patterson 2017.