An implementation of Git in swift as a learning exercise.
Current state:
jit initwill initialize the bare minimum .git folder and structurejit commitwill commit all files that aren't in the ignore list inWorkspace.swift- Tests are pending until more features are available
Committing is currently rudimentary and relies on two environment variables
being set GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL instead of in .git/config
Additionally, the commit command does not take any arguments and relies on
having the commit message piped into it.
.build/out/Products/Debug/jit commit < Commit.txt
To examine blob contents, they can be unzipped to standard out with the pigz utility.
pigz -dc .git/objects/<SHA1 Hash>
Sometimes the contents may be binary encoded so running it through hexdump will also be helpful.
pigz -dc .git/objects<SHA1 Hash> | hexdump -C