Skip to content

GitJournal/dart-git

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5d055c4 · Aug 24, 2024
Dec 10, 2023
Oct 14, 2020
Aug 24, 2024
Aug 24, 2024
May 11, 2021
Aug 24, 2024
Apr 11, 2021
Oct 27, 2021
Apr 13, 2021
Nov 24, 2023
May 11, 2021
Aug 15, 2024
Aug 24, 2024
Feb 17, 2022

Repository files navigation


A Git Implementation in pure Dart

Build Status License: AGPL v3
Donate Paypal Sponsor via GitHub

This is an experimental reimplementation of Git in pure Dart. The GitJournal project is currently using libgit2, but it's a pain using it - the cross compilation, java ndk bindings + ios bindings. Also, it doesn't let us easily control the FS layer. We eventually want to encrypt the git repo.

Therefore, this is an experimental start at reimplementing Git in Dart. Right now the plan is to just implement a subset of features required by GitJournal.

Comparison with git

dart-git aims to be fully compatible with git, all the porcelain operations will be implemented to work exactly as git does.

Git is a humongous project with years of development by thousands of contributors, dart-git does not aim to implement all its features. It's primarily driven by the needs of the GitJournal project. You can find a comparison of dart-git vs git in the compatibility documentation.

License

This project has been heavily inspired by the go-git project and has often adapted code from that project. go-git is licensed under Apache License Version 2.0

dart-git is licensed under Apache License Version 2.0, see LICENSE