Go to file
2015-03-09 17:32:48 -04:00
External .gitmodules: Xcode 6.3b2 updates 2015-03-07 12:43:38 -05:00
script Copy scripts from objective-git 2014-11-08 08:41:22 -05:00
SwiftGit2 Use COpaquePointer directly 2015-03-09 17:32:48 -04:00
SwiftGit2.xcodeproj .gitmodules: Xcode 6.3b2 updates 2015-03-07 12:43:38 -05:00
SwiftGit2.xcworkspace .gitmodules: Add Nimble 2015-02-20 01:47:49 -05:00
SwiftGit2Tests Use COpaquePointer directly 2015-03-09 17:32:48 -04:00
.gitignore Add libgit2 2014-11-10 18:31:59 -05:00
.gitmodules Support Swift 1.2 2015-02-21 21:28:43 -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.