Hello all,<p>For some time I've been interested in making my own version control system, essentially a Git clone with all core features implemented. Why would I want to do this? Because learning is good and I'd be interested to discover more of Git's architecture, by building my own.<p>I've read various good articles about the basic nature of Git "under-the-hood" and how it stores files. But I haven't found anything that really looks at where you could start to build your own VCS and how to go about it.<p>I'm in the planning stages of doing this as a summer side project in the next few months, probably using Python. It'd be interesting to hear from anyone who's done similar, or found usable tutorials on how you could go about making some kind of usable Git clone.<p>Ilmiont
I don't think you can do any better than to look at Mary Rose Cook's blog posts and heavily annotated Git implementation in JavaScript<p><a href="https://maryrosecook.com/blog/post/git-from-the-inside-out" rel="nofollow">https://maryrosecook.com/blog/post/git-from-the-inside-out</a>
Read the GIT source code (or one of the reimplementations if they're easier to read). This will be just as educational, perhaps more, as writing your own from first principles.