Show HN: Pygit – Just enough git to push itself to GitHub
Exercises like this are very educational for taking magic away from version control tools.<p>Some time ago I did a similar exercise in Haskell: <a href="https://github.com/EarlGray/omit" rel="nofollow">https://github.com/EarlGray/omit</a> (it also took about 500 lines of unnecessarily dense Haskell), implementing barebone functionality of `git log`, `git add`, `git commit`, `git status`, `git diff` (using an existing Haskell diff library). It was eye-opening how simple the concepts of git are.<p>On the other hand, the most interesting parts of git are still left out: branches, merges, conflict resolution, remote sync. I'm wondering how many more lines are needed for this.