CUT TO:
INT. PROJECT ARCHIVE — STORYBOARD ROOM
The USER opens Grip.
DIVAKAR DESSAI
CUT TO:
The USER opens Grip.
DIVAKAR DESSAI
CASE FILE / COMP2041 / Version Control / Python
Implemented a simplified Git-style version-control system with staging, commits, history inspection, status reporting and file removal.
01–02 / OPENING SEQUENCE
01 / Establishing Shot
The project required recreating core version-control behaviour and correctly distinguishing several competing versions of each tracked file.
02 / Wide Shot
Grip was a simplified version-control system inspired by Git and implemented through a suite of command-line utilities.
03 / CHARACTER NOTE
Subject
Divakar Dessai
Production
Grip
Take
03 / Role
Role notes
DIVAKAR DESSAI
04 / CLOSE-UP
Commands such as status and remove had to reason simultaneously about the working directory, index and latest committed snapshot.
05 / TRACKING SHOT
A plan emerges.
I represented the repository through explicit filesystem structures for staged files and committed snapshots and compared these states when executing commands.
06 / INSERT SHOTS
The system takes shape.
07 / DIRECTOR'S NOTES
Things we decided along the way
01
Modelled the working tree, index and repository as distinct states.
02
Persisted repository metadata in a dedicated local directory.
03
Implemented commands independently around the same shared repository model.
design decisions
somewhere mid-build
08 / RETAKES
Naturally, not everything cooperates.
09 / FINAL SHOT
Built a functioning miniature version-control system.
Developed a concrete understanding of Git's index and repository concepts.
Improved filesystem and command-line application design skills.
10 / PRODUCTION NOTES
The tools behind the scenes.
11 / BEHIND THE SCENES
FADE OUT.
USER closes the file.
One project down. A few more stories left.
DIVAKAR DESSAI