Skip to content

makhov/SwiftGit2

Repository files navigation

SwiftGit2

Swift bindings to libgit2.

Design

SwiftGit2 uses value objects wherever possible. That means using Swift’s structs and enums without holding references to libgit2 objects. This has a number of advantages:

  1. Values can be used concurrently.
  2. Consuming values won’t result in disk access.
  3. Disk access can be contained to a smaller number of APIs.

This vastly simplifies the design of long-lived applications, which are the most common use case with Swift.

Consequently, SwiftGit2 APIs don’t necessarily map 1-to-1 with libgit2 APIs.

Contributions

We ❤️ to receive pull requests! GitHub makes it easy:

  1. Fork the repository
  2. Create a branch with your changes
  3. Send a Pull Request

All contributions should match GitHub’s Swift Style Guide.

License

SwiftGit2 is available under the MIT license.

About

Swift bindings to libgit2

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 86.9%
  • Shell 11.9%
  • Other 1.2%