mirror of
https://github.com/gosticks/SwiftGit2.git
synced 2025-10-16 11:55:34 +00:00
| External | ||
| script | ||
| SwiftGit2 | ||
| SwiftGit2.xcodeproj | ||
| SwiftGit2.xcworkspace | ||
| SwiftGit2Tests | ||
| .gitignore | ||
| .gitmodules | ||
| README.md | ||
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:
- Values can be used concurrently.
- Consuming values won’t result in disk access.
- 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:
- Fork the repository
- Create a branch with your changes
- Send a Pull Request
All contributions should match GitHub’s Swift Style Guide.
License
SwiftGit2 is available under the MIT license.