Skip to content
/ rsgit Public

A fully-native implementation of git in Rust

License

Notifications You must be signed in to change notification settings

rust-git/rsgit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rsgit

Pure Rust-native implementation of git

Tests Code coverage

This is a very preliminary project. I'm doing this for fun and as a sandbox to better understand git and its internals and to explore how it feels to create a large software project in Rust. (I'm a relatively new Rust developer, but I am very much enjoying the experience so far.)

As of this writing (October 2020), this project implements a fairly thin subset of git's core infrastructure. It's not even close to ready to be used. I am favoring code quality (careful architecture and testing infrastructure) over rapid growth of the project. I do hope to eventually produce a reasonably full implementation of git, but I make no guarantee that this will happen.

My employer is aware of this project and accepts my participation in it, but it is not officially supported by anyone. I do this on my own time and any development or support happens only as my personal time allows.

Organization

There are multiple crates in this repo:

  • rsgit_core implements the core git data model in an abstract sense.
  • rsgit_on_disk implements above using the same file/folder layout as traditional command-line git.
  • rsgit_cli implements a subset of the traditional git command-line interface using the core and on_disk crates.

About

A fully-native implementation of git in Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages