Skip to content

An implementation of the git tooling, written in Rust for fun and learning.

License

Notifications You must be signed in to change notification settings

avik-das/gitters

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gitters

Gitters is an implementation of the git tooling, written in Rust. I chose this project to understand how git works internally, as well as to learn Rust. The goal is to use gitters to manage the development of the project itself.

Quick start

Assuming you have Rust installed already:

git clone https://github.com/avik-das/gitters.git
cd gitters

# Run the tests. You'll need to ensure the "introduce-tests" branch is present
# in order for the tests to pass, as they check that a branch name resolves to
# the correct revision.
git fetch origin introduce-tests:introduce-tests
cargo test

# Very few git tools are available, but for the ones that are implemented,
# replace `git` with `./gitters` when executing the tool.

# Run "log" on a commit with a few ancestors:
./gitters log 44d6437947787a44b0e7d463954eef2daa44aaa5
./gitters log  # or just look at the history starting at HEAD

# See the configuration for this repository:
./gitters config --list

Supported commands

Use ./gitters <command> --help to see the available options for each of the following commands.

  • branch
  • cat-file
  • config
  • log
  • ls-files
  • rev-parse

About

An implementation of the git tooling, written in Rust for fun and learning.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published