Anvil banner

Anvil

1 devlog
1h 48m 57s

A remake of git with thematic command names.

mattseq

i thought this would be a lot harder but honestly it was easy. first i watched some videos on how git works, this series by Brief was amazing: https://www.youtube.com/watch?v=fWMKue-WBok&list=PL9lx0DXCC4BNUby5H58y6s2TQVLadV8v7. git actually has a really elegant solution to storing snapshots of files efficiently and exploiting file structure to do so. i wont elaborate on the details, you can watch the video if you like. so far its only around 130 lines of python, but i only have basic commits using the whole object system. im not sure how much i want anvil to be similar to git tho, i might make a remote server like github but using locks so only one person can push changes at a time. thats how it used to be done and it means i dont have to implement merges and all those more complicated stuff. also i just want to experiment around with various version control ideas. heres a picture of one of those objects, specifically a tree that references other blobs with their hash

Attachment
2

Comments

anderson
anderson about 2 months ago

Considering helloworld on python takes 0.038s, and on C 0.003s (and probably scales more efficient), I wouldn’t even think of using it as my VCS

mattseq
mattseq about 2 months ago

Yeah ik. I wanted to try to make it first in an easier language and then rewrite if I had the motivation to continue the project. And right now it seems like I don’t. This one’s probably going to graveyard but it was fun to make anyway