Skip to content
taihengPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

An implementation of Git in swift as a learning exercise.

Current state:

  • jit init will initialize the bare minimum .git folder and structure
  • jit commit will commit all files that aren't in the ignore list in Workspace.swift
  • Tests are pending until more features are available

Committing

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

Utilities

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

References

Building Git

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages