Go to file
Matt Diephouse a6ad10635b Merge pull request #5 from mdiep/readme
Start a README
2014-11-21 21:19:25 -05:00
External Add LlamaKit 2014-11-13 22:15:01 -05:00
script Copy scripts from objective-git 2014-11-08 08:41:22 -05:00
SwiftGit2 Merge pull request #4 from mdiep/oids 2014-11-20 12:24:15 -08:00
SwiftGit2.xcodeproj Add an OID type 2014-11-18 20:48:28 -05:00
SwiftGit2.xcworkspace Add LlamaKit 2014-11-13 22:15:01 -05:00
SwiftGit2Tests Merge pull request #4 from mdiep/oids 2014-11-20 12:24:15 -08: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.