https://github.com/gitjournal/dart-git
A Git implementation in pure Dart
https://github.com/gitjournal/dart-git
dart git
Last synced: about 1 year ago
JSON representation
A Git implementation in pure Dart
- Host: GitHub
- URL: https://github.com/gitjournal/dart-git
- Owner: GitJournal
- License: apache-2.0
- Created: 2019-12-24T18:08:50.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-08-24T13:43:18.000Z (almost 2 years ago)
- Last Synced: 2025-04-15T08:57:16.404Z (about 1 year ago)
- Topics: dart, git
- Language: Dart
- Homepage:
- Size: 1.22 MB
- Stars: 79
- Watchers: 7
- Forks: 14
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
A Git Implementation in pure Dart
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](https://github.com/git/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](COMPATIBILITY.md).
## License
This project has been heavily inspired by the [go-git](https://github.com/go-git/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](LICENSE)