shithub: furgit

ref: 4a08059f07e43ed881c7665ec404251ae63adc3d
dir: /README.md/

View raw version
# Furgit

[![builds.sr.ht status](https://builds.sr.ht/~runxiyu/furgit.svg)](https://builds.sr.ht/~runxiyu/furgit)
[![Go Reference](https://pkg.go.dev/badge/codeberg.org/lindenii/furgit.svg)](https://pkg.go.dev/codeberg.org/lindenii/furgit)

Furgit is a low-level Git library in Go.

## Status

* Several years away from stable
* Do not use in production
* Mature alternative: [go-git](https://github.com/go-git/go-git)
* Will use [Semantic Versioning 2.0.0](https://semver.org/spec/v2.0.0.html) starting at 1.0.0

## Goals

* General-purpose Git plumbing library for UNIX-like systems
* Aim for extremely clear and modular architecture
* Then aim for high performance
* Expect familiarity with Git internals

## Community

* [#lindenii](https://webirc.runxiyu.org/kiwiirc/#lindenii)
  on [irc.runxiyu.org](https://irc.runxiyu.org)
* [#lindenii](https://web.libera.chat/#lindenii)
  on [Libera.Chat](https://libera.chat)

See the CONTRIBUTING document for bug reports and patch submissions.

## Acknowledgements

Partly inspired by [upstream Git](https://git-scm.com),
OpenBSD's [Game of Trees](https://gameoftrees.org), and
[9front Git](https://git.9front.org/plan9front/9front/HEAD/sys/src/cmd/git/f.html).

## License

This project is licensed under the GNU Affero General Public License,
Version 3.0 only.

Pursuant to Section 14 of the GNU Affero General Public License, Version 3.0,
[Runxi Yu](https://runxiyu.org) is hereby designated as the proxy who is
authorized to issue a public statement accepting any future version of the
GNU Affero General Public License for use with this Program.

Therefore, notwithstanding the specification that this Program is licensed
under the GNU Affero General Public License, Version 3.0 only, a public
acceptance by the Designated Proxy of any subsequent version of the GNU Affero
General Public License shall permanently authorize the use of that accepted
version for this Program.

## Alternatives

Not endorsements.

* [github.com/go-git/go-git](https://github.com/go-git/go-git) (by far the most mature)
* [github.com/driusan/dgit](https://github.com/driusan/dgit)
* [github.com/Nivl/git-go](https://github.com/Nivl/git-go)
* [github.com/unkn0wn-root/git-go.git](https://github.com/unkn0wn-root/git-go.git)
* [github.com/speedata/gogit](https://github.com/speedata/gogit)