Skip to content

dmsoares/partial-git-clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

(Very much) A Partial Git Clone

This project is a rewrite of the Write Yourself A Git (WYAG) git clone in Haskell (the original being written in Python). The main differences arise naturally from the differences in language and programming paradigm.

The initial motivation for this endeavour was one of penance. After a couple of embarrassing mistakes using Git professionally, something had to be done.

The choice of using Haskell has to do with the fact that merely following a tutorial would not be enough. The process of translating from one language to the other really has to make me understand what is going on. As a couple of bonus points, my skills with Haskell grow and my eyes get a bit more comfortable with Python.

Update: In the meantime, I've found out about this similar project in Haskell. While its scope is smaller, its author's motivations are very close to my own. I've been learning a lot from it as well. Git's gritty details are in the Git Book

Commands

Following WYAG, this Git clone should implement the following commands:

  • add
  • cat-file
  • checkout
  • commit
  • hash-object
  • init
  • log
  • ls-files
  • ls-tree
  • merge
  • rebase
  • rev-parse
  • rm
  • show-ref
  • tag

About

A Git clone from scratch, following https://wyag.thb.lt/

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published