<p>I think you are looking for <a href="https://en.wikipedia.org/wiki/Retroactive_data_structure" rel="nofollow noreferrer">retroactive data structures</a>.</p>
<p>These are used with Git (<a href="https://thescipub.com/pdf/jcssp.2020.906.915.pdf" rel="nofollow noreferrer">ref</a>)</p>
<p>The MIT Open Courseware for <a href="https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-851-advanced-data-structures-spring-2012/index.htm" rel="nofollow noreferrer">Advanced Data Structures</a> by Prof. Erik Demaine teaches this in <a href="https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-851-advanced-data-structures-spring-2012/lecture-videos/session-2-retroactive-data-structures/" rel="nofollow noreferrer">Session 2: Retroactive Data Structures</a></p>
<p>HTH</p>

CC BY-SA 4.0
2021-09-27T17:34:12.553Z
From the description on that wikipedia page (and from the article you linked to as well), it sounds like git uses persistent data structures rather than retroactive.  Github at least uses blobs, which are immutable.
Ben I.
CC BY-SA 4.0
2021-10-01T12:05:18.740Z
@BenI. While I am not Git Jedi I do recall that deep down in Git one can retroactively change a commit, thus retroactive instead of persistent. I don't have the time at present to research this but the 8-ball says `sounds reasonable`
Guy Coder
CC BY-SA 4.0
2021-10-03T14:21:13.397Z
No, no, I mean that the reference you linked to states outright that it's persistent.
Ben I.
CC BY-SA 4.0
2021-09-27T15:13:05.047Z
2021-09-27T15:13:05.047Z
Guy Coder
<p>A few years ago I visited a university (very likely an US university) lecture website that teaches perhaps file system or version control system (I'm really unsure here), which gradually lead students to build a simplified git. Can someone who has seen something similar tell me what lecture is it?</p>
<p>(I have been searching using varied keywords but got nothing.)</p>

CC BY-SA 4.0
2021-04-29T02:38:56.137Z
This?  https://www.freecodecamp.org/news/boost-programming-skills-read-git-code/amp/
Rushi
CC BY-SA 4.0
2021-04-29T08:05:10.850Z
@Rusi no, I remember it was an university lecture.
Rahn
CC BY-SA 4.0
2021-04-30T12:31:59.997Z
IIRC, CMU does a big git-creation lab, though I can't find any links.  ("git" is such a popular search term!)
Ben I.
CC BY-SA 4.0
2021-05-22T20:21:29.760Z
Not a university lecture, but [build your own git](https://github.com/danistefanovic/build-your-own-x#build-your-own-git) has a handful of useful resources.
ggorlen
CC BY-SA 4.0
2021-05-28T15:23:09.687Z
I am guessing that you are asking about the beautifully elegant internals of `git`, not the ugly user interface.
ctrl-alt-delor
<git>
a lecture that guides students to re-create git
# a lecture that guides students to re-create git

(Asked by: username_0 on 2021-04-28)

A few years ago I visited a university (very likely an US university) lecture website that teaches perhaps file system or version control system (I'm really unsure here), which gradually lead students to build a simplified git. Can someone who has seen something similar tell me what lecture is it?

(I have been searching using varied keywords but got nothing.)

**Tags:** git

> **Comments:**
> **username_1**: This?  https://www.freecodecamp.org/news/boost-programming-skills-read-git-code/amp/  
> **username_0**: @Rusi no, I remember it was an university lecture.  
> **username_2**: IIRC, CMU does a big git-creation lab, though I can't find any links.  ("git" is such a popular search term!)  
> **username_3**: Not a university lecture, but [build your own git](https://github.com/danistefanovic/build-your-own-x#build-your-own-git) has a handful of useful resources.  
> **username_4**: I am guessing that you are asking about the beautifully elegant internals of `git`, not the ugly user interface.  

---

## 1 answers

### Answer by username_5 on 2021-09-27. Score: 1

I think you are looking for [retroactive data structures](https://en.wikipedia.org/wiki/Retroactive_data_structure).

These are used with Git ([ref](https://thescipub.com/pdf/jcssp.2020.906.915.pdf))

The MIT Open Courseware for [Advanced Data Structures](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-851-advanced-data-structures-spring-2012/index.htm) by Prof. Erik Demaine teaches this in [Session 2: Retroactive Data Structures](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-851-advanced-data-structures-spring-2012/lecture-videos/session-2-retroactive-data-structures/)

HTH

> **Comments:**
> **username_2**: From the description on that wikipedia page (and from the article you linked to as well), it sounds like git uses persistent data structures rather than retroactive.  Github at least uses blobs, which are immutable.  
> **username_5**: @BenI. While I am not Git Jedi I do recall that deep down in Git one can retroactively change a commit, thus retroactive instead of persistent. I don't have the time at present to research this but the 8-ball says `sounds reasonable`  
> **username_2**: No, no, I mean that the reference you linked to states outright that it's persistent.  

---

