Go to file
2015-01-02 14:28:53 -05:00
External ++libgit2 2014-12-25 16:55:31 -10:00
script Copy scripts from objective-git 2014-11-08 08:41:22 -05:00
SwiftGit2 Create files for remotes 2015-01-02 14:28:53 -05:00
SwiftGit2.xcodeproj Create files for remotes 2015-01-02 14:28:53 -05:00
SwiftGit2.xcworkspace Add LlamaKit 2014-11-13 22:15:01 -05:00
SwiftGit2Tests Create files for remotes 2015-01-02 14:28:53 -05:00
.gitignore Add libgit2 2014-11-10 18:31:59 -05:00
.gitmodules Add LlamaKit 2014-11-13 22:15:01 -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.