Go to file
Brian Gesiak 908f774cc8 .gitmodules: Add Guanaco
Guanaco provides Nimble assertions for LlamaKit.Result, such as:

```
expect(result).to(haveFailed(domain: "com.libgit2"))
```

These custom assertions will be useful when testing that libgit2 error
messages are properly captured and reported.
2015-02-18 00:14:14 -05:00
External .gitmodules: Add Guanaco 2015-02-18 00:14:14 -05:00
script Copy scripts from objective-git 2014-11-08 08:41:22 -05:00
SwiftGit2 .gitmodules: Update LlamaKit to v0.5.0 2015-02-17 22:18:51 -05:00
SwiftGit2.xcodeproj .gitmodules: Add Guanaco 2015-02-18 00:14:14 -05:00
SwiftGit2.xcworkspace .gitmodules: Add Guanaco 2015-02-18 00:14:14 -05:00
SwiftGit2Tests .gitmodules: Update LlamaKit to v0.5.0 2015-02-17 22:18:51 -05:00
.gitignore Add libgit2 2014-11-10 18:31:59 -05:00
.gitmodules .gitmodules: Add Guanaco 2015-02-18 00:14:14 -05:00
README.md Start a README 2014-11-19 20:58:44 -05:00

SwiftGit2

Swift bindings to libgit2.

Design

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

  1. Values can be used concurrently.
  2. Consuming values wont 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 dont 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 GitHubs Swift Style Guide.

License

SwiftGit2 is available under the MIT license.