Skip to content

samedit66/dig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dig

A ugit clone implemented in pure Elixir.

Focused on implementing a subset of git with rather poor error handling 😁.

Features

init — initializes an empty .dig repository.

hash-object FILE — hashes the given file and stores it in the object database.

cat-file HASH — shows the contents of the file from the object database by the given hash.

write-tree — hashes the current directory into the object database.

read-tree TREE_HASH — replaces the current directory contents with those specified by TREE_HASH`.

commit -m | --message MESSAGE — commits the current directory with the provided message.

log [COMMIT_HASH] — shows the commit history, optionally starting from the specified commit.

Installation

To make up an executable, run make.

If available in Hex, the package can be installed by adding dig to your list of dependencies in mix.exs:

def deps do
  [
    {:dig, "~> 0.1.0"}
  ]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/dig.

About

ugit written in Elixir

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published