git2dart 0.3.0 copy "git2dart: ^0.3.0" to clipboard
git2dart: ^0.3.0 copied to clipboard

Dart bindings to libgit2, provides ability to use libgit2 library in Dart and Flutter.

git2dart #

Pub Version Pub Monthly Downloads Pub Likes

Dart bindings to libgit2 #

git2dart package provides ability to use libgit2 in Dart/Flutter.

This is a hardfork of libgit2dart

Currently supported platforms are 64-bit Windows, Linux and macOS on both Flutter and Dart VM.

Usage #

git2dart provides you ability to manage Git repository. You can read and write objects (commit, tag, tree and blob), walk a tree, access the staging area, manage config and lots more.

Let's look at some of the classes and methods (you can also check example).

Documentation #

See the doc directory for full documentation and usage examples.

Contributing #

Fork git2dart, improve git2dart, send a pull request.

System Dependencies #

To use git2dart, you need to have the following system dependencies installed:

Linux #

sudo apt-get install libssl-dev libpcre3

macOS #

brew install openssl

Windows #

choco install openssl -y

Getting Started #

  1. Add package as a dependency in your pubspec.yaml
  2. Import:
import 'package:git2dart/git2dart.dart';
  1. Verify installation (should return string with version of libgit2 shipped with package):
...
print(Libgit2.version);
...

Note: The following steps only required if you are using package in Dart application (Flutter application will have libgit2 library bundled automatically when you build for release).

Development #

Troubleshooting #

Linux

If you are developing on Linux using non-Debian based distrib you might encounter these errors:

  • Failed to load dynamic library: libpcre.so.3: cannot open shared object file: No such file or directory
  • Failed to load dynamic library: libpcreposix.so.3: cannot open shared object file: No such file or directory

That happens because dynamic library is precompiled on Ubuntu and Arch/Fedora/RedHat names for those libraries are libpcre.so and libpcreposix.so.

To fix these errors create symlinks:

sudo ln -s /usr/lib64/libpcre.so /usr/lib64/libpcre.so.3
sudo ln -s /usr/lib64/libpcreposix.so /usr/lib64/libpcreposix.so.3

Running Tests #

To run all tests and generate coverage report make sure to have activated packages and lcov installed:

dart pub global activate coverage

Licence #

MIT. See LICENSE file for more information.

Star History Chart

9
likes
160
points
35
downloads

Publisher

verified publisherdartgit.dev

Weekly Downloads

Dart bindings to libgit2, provides ability to use libgit2 library in Dart and Flutter.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

equatable, ffi, flutter, git2dart_binaries, meta, path

More

Packages that depend on git2dart