GithubHelp home page GithubHelp logo

swiftgit2's Introduction

SwiftGit2

Build Status Carthage compatible GitHub release Swift 5.3.x

Swift bindings to libgit2.

let URL: URL = ...
let result = Repository.at(URL)
switch result {
case let .success(repo):
    let latestCommit = repo
        .HEAD()
        .flatMap {
            repo.commit($0.oid)
        }

    switch latestCommit {
    case let .success(commit):
        print("Latest Commit: \(commit.message) by \(commit.author.name)")

    case let .failure(error):
        print("Could not get commit: \(error)")
    }

case let .failure(error):
    print("Could not open repository: \(error)")
}

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:

  1. Values can be used concurrently.
  2. Consuming values won’t 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 don’t necessarily map 1-to-1 with libgit2 APIs.

All methods for reading from or writing to a repository are on SwiftGit’s only class: Repository. This highlights the failability and mutation of these methods, while freeing up all other instances to be immutable structs and enums.

Required Tools

To build SwiftGit2, you'll need the following tools installed locally:

  • cmake
  • libssh2
  • libtool
  • autoconf
  • automake
  • pkg-config
brew install cmake libssh2 libtool autoconf automake pkg-config

Adding SwiftGit2 to your Project

The easiest way to add SwiftGit2 to your project is to use Carthage. Simply add github "SwiftGit2/SwiftGit2" to your Cartfile and run carthage update.

If you’d like, you can do things the hard old-fashioned way:

  1. Add SwiftGit2 as a submodule of your project’s repository.
  2. Run git submodule update --init --recursive to fetch all of SwiftGit2’s depedencies.
  3. Add SwiftGit2.xcodeproj to your project’s Xcode project or workspace.
  4. On the “Build Phases” tab of your application target, add SwiftGit2.framework to the “Link Binary With Libraries” phase. SwiftGit2 must also be added to a “Copy Frameworks” build phase.
  5. If you added SwiftGit2 to a project (not a workspace), you will also need to add the appropriate SwiftGit2 target to the “Target Dependencies” of your application.

Building SwiftGit2 Manually

If you want to build a copy of SwiftGit2 without Carthage, possibly for development:

  1. Clone SwiftGit2
  2. Run git submodule update --init --recursive to clone the submodules
  3. Build in Xcode

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 GitHub’s Swift Style Guide.

License

SwiftGit2 is available under the MIT license.

swiftgit2's People

Contributors

basthomas avatar belkadan avatar bilalreffas avatar chriseidhof avatar dependabot[bot] avatar divinedominion avatar drkibitz avatar hannesa2 avatar jakeva avatar jrgoodle avatar jspahrsummers avatar klein-artur avatar m3ta4a avatar mattrubin avatar mdiep avatar modocache avatar muizidn avatar qnoid avatar robrix avatar spekke avatar tengyifei avatar tiennou avatar tombooth avatar twa16 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

swiftgit2's Issues

Crash after bad data in Credentials.plainText

Hi, whenever I clone repository with bad password or username in Credentials.plainText I get an application crash.

zrzut ekranu 2017-08-09 o 12 02 38
zrzut ekranu 2017-08-09 o 10 47 48

Any ideas?

When I type correct password and username everything is OK. Ssh isn't causing error even if something is wrong.

[Code Style] Trailing whitespace on blank lines

While configuring SwiftLint, I noticed the use of trailing whitespace on blank lines is inconsistent. Some blank lines are indented to match the surrounding code, while other empty lines have no whitespace, even in the midst of indented chunks of code. By my count, across the SwiftGit2 library source and tests there are 313 indented blank lines (^\h+$) and 76 completely empty lines among indented code (^\v\h).

Debates about whitespace often boil down to subjective personal preference – and major reformatting of code for its own sake isn't the best use of time – but I think regardless of the outcome it would be nice to update the code for consistency in whitespace usage.

The GitHub Swift style guide linked from the README argues against blank line whitespace ("Don’t leave trailing whitespace... Not even leading indentation on blank lines."), and my personal preference is also to leave blank lines empty. Any strong opinions for or against trailing whitespace on blank lines?

Properly handle errors

Right now, an empty failure is returned. The error from libgit2 needs to be captured.

Unable to build on Mac OS Sierra with XCode 8.3.2

When i git clone this repo and carthage update i get the following error.

...
org.carthage.CarthageKit/DerivedData/Nimble/v5.1.1/Build/Intermediates/Nimble.build/Release-appletvsimulator/Nimble-tvOS.build/Objects-normal/x86_64/Functional.o -o /Users/kahneraja/Library/Caches/org.carthage.CarthageKit/DerivedData/Nimble/v5.1.1/Build/Intermediates/Nimble.build/Release-appletvsimulator/Nimble-tvOS.build/Objects-normal/x86_64/Match.o
/Users/kahneraja/Workspace/SwiftGit2/Carthage/Checkouts/Nimble/Sources/Nimble/Utils/Errors.swift:15:30: warning: conditional cast from 'T' to 'CustomDebugStringConvertible' always succeeds
        if let error = error as? CustomDebugStringConvertible {
                             ^
/Users/kahneraja/Workspace/SwiftGit2/Carthage/Checkouts/Nimble/Sources/Lib/CwlPreconditionTesting/CwlPreconditionTesting/CwlCatchBadInstructionPOSIX.swift:89:5: error: 'setjmp' is unavailable: Functions that may return more than one time (annotated with the 'returns_twice' attribute) are unavailable in Swift
        if setjmp(&env.0) != 0 {
           ^~~~~~
Darwin.setjmp:2:13: note: 'setjmp' has been explicitly marked unavailable here
public func setjmp(_: UnsafeMutablePointer<Int32>!) -> Int32
            ^

** BUILD FAILED **


The following build commands failed:
	CompileSwift normal x86_64
	CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler
(2 failures)

any points or advice around these errors?

Building with Carthage pulls in Result with breaking changes

Tried to install SwiftGit2 with carthage, however the build fails with the following:

*** Fetching SwiftGit2
*** Fetching Result
*** Checking out Result at "0.5"
*** Checking out SwiftGit2 at "v0.2"
*** xcodebuild output can be found in /var/folders/57/7jlwl0_11xn4w7wspwk3ntwr0000gn/T/carthage-xcodebuild.7HFaDu.log
*** Building scheme "Result-iOS" in Result.xcodeproj
** BUILD FAILED **


The following build commands failed:
    CompileSwift normal x86_64 /[...]/Carthage/Checkouts/Result/Result/Result.swift
    CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler
(2 failures)
/[...]/Carthage/Checkouts/Result/Result/Result.swift:51:41: warning: 'ifSuccess ifSuccess' can be expressed more succinctly as '#ifSuccess'
/[...]/Carthage/Checkouts/Result/Result/Result.swift:4:31: error: use of undeclared type 'CustomStringConvertible'
/[...]/Carthage/Checkouts/Result/Result/Result.swift:4:56: error: use of undeclared type 'CustomDebugStringConvertible'
A shell task failed with exit code 65:
** BUILD FAILED **


The following build commands failed:
    CompileSwift normal x86_64 /[...]/Carthage/Checkouts/Result/Result/Result.swift
    CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler
(2 failures)

carthage update  11.60s user 8.21s system 46% cpu 42.756 total

As CustomStringConvertible is not available Swift that ships with Xcode 6.3.x, and Result 0.5 adds changes for Swift 2, one needs to either change Result to a lower version or use the Xcode Beta.

I tried to change the Cartfile to
github "antitypical/Result" == 0.4.1

but this seemed to not do the trick. I am not sure what causes this, as of now I am building it manually and just wanted to let you know.

README instructions for importing SwiftGit2 not working

I have included the dependency on SwiftGit2 in my project's Cartfile. When I run carthage update, it downloads and builds Result fine, but it downloads a pre-built OSX binary that is out of date. Below is the output from the update command (note, not the actual log, just the messages printed to the terminal):

*** Fetching SwiftGit2
*** Fetching Result
*** Checking out Result at "3.1.0"
*** Downloading SwiftGit2.framework binary at "0.2: Top Banana"
*** xcodebuild output can be found in /var/folders/lk/rph7cj_n4q34zkb7974y5tlrfb2t0x/T/carthage-xcodebuild.tGDu0J.log
*** Building scheme "Result-Mac" in Result.xcodeproj
*** Building scheme "Result-iOS" in Result.xcodeproj
*** Building scheme "Result-watchOS" in Result.xcodeproj
*** Building scheme "Result-tvOS" in Result.xcodeproj

I clearly need to do some more reading on Carthage, but it seems like something is mis-configured with SwiftGit2 since it's grabbing the wrong file.

README-driven development?

Would it be reasonable to add a README discussing overall goals?

I’m assuming the intention is that the design of this library be more than just a thin shell, for example more along the lines of the proposal you wrote for the extant ObjC bindings.

Switch to using a Command type

Instead of putting everything as a method on Repository, it might be beneficial to reify the methods into a Command type.

struct Command<Value, Error> {
    func flatMap<U>(transform: (Value) -> Command<U, Error>) -> Command<U, Error>
    func map<U>(transform: (Value) -> U) -> Command<U, Error>
}

class Repository {
    func execute<V, E>(_ command: Command<V, E>) -> Result<V, E>
}

One benefit of this would be colocating methods with the types that they operate on. e.g, instead of Repository.allRemotes() -> Result<[Remote], NSError>, we could have Remote.all() -> Command<[Command], NSError>. That could make code more readable.

It also opens the door to composition. Just as you can write your own git command that combines built-in commands, you could write your own Command that combines multiple Commands.

Add a License file

The README indicates that the project "is available under the MIT license", but the licensing of the project would be more clear if there were a LICENSE file with the full text of the MIT license, and the accompanying copyright info.

libgit2.a: No such file or directory

=== BUILD TARGET libgit2-OSX OF PROJECT SwiftGit2 WITH CONFIGURATION Release ===

Check dependencies

Write auxiliary files
write-file /Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/Script-BEB31F931A0E567000F525B9.sh
chmod 0755 /Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/Script-BEB31F931A0E567000F525B9.sh

SymLink /Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath/Release/libgit2.a /Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/UninstalledProducts/macosx/libgit2.a
cd /Users/jiangzhou/Dropbox/Project/JZFastlane/Carthage/Checkouts/SwiftGit2
/bin/ln -sfh /Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/UninstalledProducts/macosx/libgit2.a /Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath/Release/libgit2.a

PhaseScriptExecution Run\ Script /Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/Script-BEB31F931A0E567000F525B9.sh
cd /Users/jiangzhou/Dropbox/Project/JZFastlane/Carthage/Checkouts/SwiftGit2
export ACTION=install
export ALTERNATE_GROUP=staff
export ALTERNATE_MODE=u+w,go-w,a+rX
export ALTERNATE_OWNER=jiangzhou
export ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=NO
export ALWAYS_SEARCH_USER_PATHS=NO
export ALWAYS_USE_SEPARATE_HEADERMAPS=NO
export APPLE_INTERNAL_DEVELOPER_DIR=/AppleInternal/Developer
export APPLE_INTERNAL_DIR=/AppleInternal
export APPLE_INTERNAL_DOCUMENTATION_DIR=/AppleInternal/Documentation
export APPLE_INTERNAL_LIBRARY_DIR=/AppleInternal/Library
export APPLE_INTERNAL_TOOLS=/AppleInternal/Developer/Tools
export APPLICATION_EXTENSION_API_ONLY=YES
export APPLY_RULES_IN_COPY_FILES=NO
export ARCHS=x86_64
export ARCHS_STANDARD=x86_64
export ARCHS_STANDARD_32_64_BIT="x86_64 i386"
export ARCHS_STANDARD_32_BIT=i386
export ARCHS_STANDARD_64_BIT=x86_64
export ARCHS_STANDARD_INCLUDING_64_BIT=x86_64
export ASSET_PACK_FOLDER_PATH=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/InstallationBuildProductsLocation/OnDemandResources
export AVAILABLE_PLATFORMS="appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator"
export BITCODE_GENERATION_MODE=bitcode
export BUILD_ACTIVE_RESOURCES_ONLY=NO
export BUILD_COMPONENTS="headers build"
export BUILD_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath
export BUILD_ROOT=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath
export BUILD_STYLE=
export BUILD_VARIANTS=normal
export BUILT_PRODUCTS_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath/Release
export CACHE_ROOT=/var/folders/s7/zqsd0ksj1gx_4sj0_86bn6280000gn/C/com.apple.DeveloperTools/9.1-9B55/Xcode
export CARTHAGE=YES
export CCHROOT=/var/folders/s7/zqsd0ksj1gx_4sj0_86bn6280000gn/C/com.apple.DeveloperTools/9.1-9B55/Xcode
export CHMOD=/bin/chmod
export CHOWN=/usr/sbin/chown
export CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER=YES
export CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND=YES
export CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY=YES
export CLANG_ENABLE_CODE_COVERAGE=NO
export CLANG_ENABLE_MODULES=YES
export CLANG_ENABLE_MODULE_DEBUGGING=NO
export CLANG_ENABLE_OBJC_ARC=YES
export CLANG_MODULES_BUILD_SESSION_FILE=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/ModuleCache/Session.modulevalidation
export CLANG_WARN_BOOL_CONVERSION=YES
export CLANG_WARN_CONSTANT_CONVERSION=YES
export CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS=YES
export CLANG_WARN_DIRECT_OBJC_ISA_USAGE=YES_ERROR
export CLANG_WARN_EMPTY_BODY=YES
export CLANG_WARN_ENUM_CONVERSION=YES
export CLANG_WARN_IMPLICIT_SIGN_CONVERSION=NO
export CLANG_WARN_INFINITE_RECURSION=YES
export CLANG_WARN_INT_CONVERSION=YES
export CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF=YES
export CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK=NO
export CLANG_WARN_OBJC_ROOT_CLASS=YES_ERROR
export CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION=YES
export CLANG_WARN_SUSPICIOUS_MOVE=YES
export CLANG_WARN_UNREACHABLE_CODE=YES
export CLANG_WARN__DUPLICATE_METHOD_MATCH=YES
export CLASS_FILE_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/JavaClasses
export CLEAN_PRECOMPS=YES
export CLONE_HEADERS=NO
export CODESIGNING_FOLDER_PATH=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/UninstalledProducts/macosx/libgit2.a
export CODE_SIGNING_ALLOWED=NO
export CODE_SIGNING_REQUIRED=NO
export COLOR_DIAGNOSTICS=NO
export COMBINE_HIDPI_IMAGES=YES
export COMMAND_MODE=legacy
export COMPILER_INDEX_STORE_ENABLE=Default
export COMPOSITE_SDK_DIRS=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/CompositeSDKs
export COMPRESS_PNG_FILES=NO
export CONFIGURATION=Release
export CONFIGURATION_BUILD_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath/Release
export CONFIGURATION_TEMP_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release
export COPYING_PRESERVES_HFS_DATA=NO
export COPY_HEADERS_RUN_UNIFDEF=NO
export COPY_PHASE_STRIP=NO
export COPY_RESOURCES_FROM_STATIC_FRAMEWORKS=YES
export CP=/bin/cp
export CREATE_INFOPLIST_SECTION_IN_BINARY=NO
export CURRENT_ARCH=x86_64
export CURRENT_VARIANT=normal
export DEAD_CODE_STRIPPING=NO
export DEBUGGING_SYMBOLS=YES
export DEBUG_INFORMATION_FORMAT=dwarf-with-dsym
export DEFAULT_COMPILER=com.apple.compilers.llvm.clang.1_0
export DEFAULT_KEXT_INSTALL_PATH=/Library/Extensions
export DEFINES_MODULE=NO
export DEPLOYMENT_LOCATION=YES
export DEPLOYMENT_POSTPROCESSING=YES
export DEPLOYMENT_TARGET_CLANG_ENV_NAME=MACOSX_DEPLOYMENT_TARGET
export DEPLOYMENT_TARGET_CLANG_FLAG_NAME=mmacosx-version-min
export DEPLOYMENT_TARGET_SETTING_NAME=MACOSX_DEPLOYMENT_TARGET
export DERIVED_FILES_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/DerivedSources
export DERIVED_FILE_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/DerivedSources
export DERIVED_SOURCES_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/DerivedSources
export DEVELOPER_APPLICATIONS_DIR=/Applications/Xcode.app/Contents/Developer/Applications
export DEVELOPER_BIN_DIR=/Applications/Xcode.app/Contents/Developer/usr/bin
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
export DEVELOPER_FRAMEWORKS_DIR=/Applications/Xcode.app/Contents/Developer/Library/Frameworks
export DEVELOPER_FRAMEWORKS_DIR_QUOTED=/Applications/Xcode.app/Contents/Developer/Library/Frameworks
export DEVELOPER_LIBRARY_DIR=/Applications/Xcode.app/Contents/Developer/Library
export DEVELOPER_SDK_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
export DEVELOPER_TOOLS_DIR=/Applications/Xcode.app/Contents/Developer/Tools
export DEVELOPER_USR_DIR=/Applications/Xcode.app/Contents/Developer/usr
export DEVELOPMENT_LANGUAGE=English
export DO_HEADER_SCANNING_IN_JAM=NO
export DSTROOT=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/InstallationBuildProductsLocation
export DT_TOOLCHAIN_DIR=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
export DWARF_DSYM_FILE_NAME=libgit2.a.dSYM
export DWARF_DSYM_FILE_SHOULD_ACCOMPANY_PRODUCT=NO
export DWARF_DSYM_FOLDER_PATH=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath/Release
export EMBEDDED_CONTENT_CONTAINS_SWIFT=NO
export EMBEDDED_PROFILE_NAME=embedded.provisionprofile
export EMBED_ASSET_PACKS_IN_PRODUCT_BUNDLE=NO
export ENABLE_BITCODE=NO
export ENABLE_DEFAULT_HEADER_SEARCH_PATHS=YES
export ENABLE_HEADER_DEPENDENCIES=YES
export ENABLE_NS_ASSERTIONS=NO
export ENABLE_ON_DEMAND_RESOURCES=NO
export ENABLE_STRICT_OBJC_MSGSEND=YES
export ENABLE_TESTABILITY=NO
export EXCLUDED_INSTALLSRC_SUBDIRECTORY_PATTERNS=".DS_Store .svn .git .hg CVS"
export EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES="*.nib *.lproj *.framework *.gch .xcode .xcassets () .DS_Store CVS .svn .git .hg *.pbproj *.pbxproj"
export EXECUTABLE_EXTENSION=a
export EXECUTABLE_NAME=libgit2.a
export EXECUTABLE_PATH=libgit2.a
export EXECUTABLE_PREFIX=lib
export EXECUTABLE_SUFFIX=.a
export EXPANDED_CODE_SIGN_IDENTITY=
export EXPANDED_CODE_SIGN_IDENTITY_NAME=
export EXPANDED_PROVISIONING_PROFILE=
export FILE_LIST=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/Objects/LinkFileList
export FIXED_FILES_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/FixedFiles
export FRAMEWORK_FLAG_PREFIX=-framework
export FRAMEWORK_SEARCH_PATHS="/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath/Release "
export FRAMEWORK_VERSION=A
export FULL_PRODUCT_NAME=libgit2.a
export GCC3_VERSION=3.3
export GCC_C_LANGUAGE_STANDARD=gnu99
export GCC_DYNAMIC_NO_PIC=NO
export GCC_ENABLE_OBJC_EXCEPTIONS=YES
export GCC_GENERATE_DEBUGGING_SYMBOLS=YES
export GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO
export GCC_NO_COMMON_BLOCKS=YES
export GCC_OPTIMIZATION_LEVEL=s
export GCC_PFE_FILE_C_DIALECTS="c objective-c c++ objective-c++"
export GCC_PRECOMPILE_PREFIX_HEADER=YES
export GCC_PREPROCESSOR_DEFINITIONS=NDEBUG=1
export GCC_STRICT_ALIASING=YES
export GCC_SYMBOLS_PRIVATE_EXTERN=NO
export GCC_THREADSAFE_STATICS=NO
export GCC_TREAT_WARNINGS_AS_ERRORS=YES
export GCC_VERSION=com.apple.compilers.llvm.clang.1_0
export GCC_VERSION_IDENTIFIER=com_apple_compilers_llvm_clang_1_0
export GCC_WARN_64_TO_32_BIT_CONVERSION=YES
export GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS=YES
export GCC_WARN_ABOUT_MISSING_PROTOTYPES=NO
export GCC_WARN_ABOUT_POINTER_SIGNEDNESS=YES
export GCC_WARN_ABOUT_RETURN_TYPE=YES_ERROR
export GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL=YES
export GCC_WARN_CHECK_SWITCH_STATEMENTS=YES
export GCC_WARN_FOUR_CHARACTER_CONSTANTS=YES
export GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED=YES
export GCC_WARN_MISSING_PARENTHESES=YES
export GCC_WARN_SIGN_COMPARE=YES
export GCC_WARN_TYPECHECK_CALLS_TO_PRINTF=YES
export GCC_WARN_UNDECLARED_SELECTOR=YES
export GCC_WARN_UNINITIALIZED_AUTOS=YES_AGGRESSIVE
export GCC_WARN_UNUSED_FUNCTION=YES
export GCC_WARN_UNUSED_LABEL=YES
export GCC_WARN_UNUSED_VARIABLE=YES
export GENERATE_MASTER_OBJECT_FILE=NO
export GENERATE_PKGINFO_FILE=NO
export GENERATE_PROFILING_CODE=NO
export GENERATE_TEXT_BASED_STUBS=NO
export GID=20
export GROUP=staff
export HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT=YES
export HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_ALL_PRODUCT_TYPES=YES
export HEADERMAP_INCLUDES_NONPUBLIC_NONPRIVATE_HEADERS=YES
export HEADERMAP_INCLUDES_PROJECT_HEADERS=YES
export HEADERMAP_USES_FRAMEWORK_PREFIX_ENTRIES=YES
export HEADERMAP_USES_VFS=NO
export HEADER_SEARCH_PATHS="/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath/Release/include "
export HIDE_BITCODE_SYMBOLS=YES
export HOME=/Users/jiangzhou
export ICONV=/usr/bin/iconv
export INDEX_ENABLE_DATA_STORE=NO
export INFOPLIST_EXPAND_BUILD_SETTINGS=YES
export INFOPLIST_OUTPUT_FORMAT=same-as-input
export INFOPLIST_PREPROCESS=NO
export INLINE_PRIVATE_FRAMEWORKS=NO
export INSTALLHDRS_COPY_PHASE=NO
export INSTALLHDRS_SCRIPT_PHASE=NO
export INSTALL_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/InstallationBuildProductsLocation/usr/local/lib
export INSTALL_GROUP=staff
export INSTALL_MODE_FLAG=u+w,go-w,a+rX
export INSTALL_OWNER=jiangzhou
export INSTALL_PATH=/usr/local/lib
export INSTALL_ROOT=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/InstallationBuildProductsLocation
export JAVAC_DEFAULT_FLAGS="-J-Xms64m -J-XX:NewSize=4M -J-Dfile.encoding=UTF8"
export JAVA_APP_STUB=/System/Library/Frameworks/JavaVM.framework/Resources/MacOS/JavaApplicationStub
export JAVA_ARCHIVE_CLASSES=YES
export JAVA_ARCHIVE_TYPE=JAR
export JAVA_COMPILER=/usr/bin/javac
export JAVA_FRAMEWORK_RESOURCES_DIRS=Resources
export JAVA_JAR_FLAGS=cv
export JAVA_SOURCE_SUBDIR=.
export JAVA_USE_DEPENDENCIES=YES
export JAVA_ZIP_FLAGS=-urg
export JIKES_DEFAULT_FLAGS="+E +OLDCSO"
export KASAN_DEFAULT_CFLAGS="-DKASAN=1 -fsanitize=address -mllvm -asan-globals-live-support -mllvm -asan-force-dynamic-shadow"
export KEEP_PRIVATE_EXTERNS=NO
export LD_DEPENDENCY_INFO_FILE=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/Objects-normal/x86_64/git2_dependency_info.dat
export LD_GENERATE_MAP_FILE=NO
export LD_MAP_FILE_PATH=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/git2-LinkMap-normal-x86_64.txt
export LD_NO_PIE=NO
export LD_QUOTE_LINKER_ARGUMENTS_FOR_COMPILER_DRIVER=YES
export LD_RUNPATH_SEARCH_PATHS=" @executable_path/../Frameworks @loader_path/../Frameworks"
export LEGACY_DEVELOPER_DIR=/Applications/Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer
export LEX=lex
export LIBRARY_FLAG_NOSPACE=YES
export LIBRARY_FLAG_PREFIX=-l
export LIBRARY_KEXT_INSTALL_PATH=/Library/Extensions
export LIBRARY_SEARCH_PATHS="/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath/Release "
export LINKER_DISPLAYS_MANGLED_NAMES=NO
export LINK_FILE_LIST_normal_x86_64=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/Objects-normal/x86_64/git2.LinkFileList
export LINK_WITH_STANDARD_LIBRARIES=YES
export LLVM_LTO=NO
export LOCALIZABLE_CONTENT_DIR=
export LOCAL_ADMIN_APPS_DIR=/Applications/Utilities
export LOCAL_APPS_DIR=/Applications
export LOCAL_DEVELOPER_DIR=/Library/Developer
export LOCAL_LIBRARY_DIR=/Library
export LOCROOT=
export LOCSYMROOT=
export MACH_O_TYPE=staticlib
export MACOSX_DEPLOYMENT_TARGET=10.9
export MAC_OS_X_PRODUCT_BUILD_VERSION=17B48
export MAC_OS_X_VERSION_ACTUAL=101301
export MAC_OS_X_VERSION_MAJOR=101300
export MAC_OS_X_VERSION_MINOR=1301
export MESSAGES_APPLICATION_EXTENSION_SUPPORT_FOLDER_PATH=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath/MessagesApplicationExtensionSupport
export MESSAGES_APPLICATION_SUPPORT_FOLDER_PATH=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath/MessagesApplicationSupport
export METAL_LIBRARY_FILE_BASE=default
export METAL_LIBRARY_OUTPUT_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/UninstalledProducts/macosx/
export MODULE_CACHE_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/ModuleCache
export NATIVE_ARCH=i386
export NATIVE_ARCH_32_BIT=i386
export NATIVE_ARCH_64_BIT=x86_64
export NATIVE_ARCH_ACTUAL=x86_64
export NO_COMMON=YES
export OBJECT_FILE_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/Objects
export OBJECT_FILE_DIR_normal=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/Objects-normal
export OBJROOT=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath
export ONLY_ACTIVE_ARCH=NO
export OS=MACOS
export OSAC=/usr/bin/osacompile
export PACKAGE_TYPE=com.apple.package-type.static-library
export PASCAL_STRINGS=YES
export PATH="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/local/bin:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/libexec:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/local/bin:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/usr/bin:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/usr/local/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/local/bin:/Applications/Xcode.app/Contents/Developer/Tools:/Users/jiangzhou/.rvm/gems/ruby-2.2.1/bin:/Users/jiangzhou/.rvm/gems/ruby-2.2.1@global/bin:/Users/jiangzhou/.rvm/rubies/ruby-2.2.1/bin:/usr/local/opt/[email protected]/bin:/usr/local/sbin:/Users/jiangzhou/.nvm/versions/node/v7.7.2/bin:/usr/local/bin:/usr/local/opt/python/libexec/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/opt/X11/bin:/Users/jiangzhou/.rvm/bin"
export PATH_PREFIXES_EXCLUDED_FROM_HEADER_DEPENDENCIES="/usr/include /usr/local/include /System/Library/Frameworks /System/Library/PrivateFrameworks /Applications/Xcode.app/Contents/Developer/Headers /Applications/Xcode.app/Contents/Developer/SDKs /Applications/Xcode.app/Contents/Developer/Platforms"
export PKGINFO_FILE_PATH=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/PkgInfo
export PLATFORM_DEVELOPER_APPLICATIONS_DIR=/Applications/Xcode.app/Contents/Developer/Applications
export PLATFORM_DEVELOPER_BIN_DIR=/Applications/Xcode.app/Contents/Developer/usr/bin
export PLATFORM_DEVELOPER_LIBRARY_DIR=/Applications/Xcode.app/Contents/Developer/Library
export PLATFORM_DEVELOPER_SDK_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
export PLATFORM_DEVELOPER_TOOLS_DIR=/Applications/Xcode.app/Contents/Developer/Tools
export PLATFORM_DEVELOPER_USR_DIR=/Applications/Xcode.app/Contents/Developer/usr
export PLATFORM_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform
export PLATFORM_DISPLAY_NAME=macOS
export PLATFORM_NAME=macosx
export PLATFORM_PREFERRED_ARCH=x86_64
export PLATFORM_PRODUCT_BUILD_VERSION=9B55
export PLIST_FILE_OUTPUT_FORMAT=same-as-input
export PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR=YES
export PRECOMP_DESTINATION_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/PrefixHeaders
export PRESERVE_DEAD_CODE_INITS_AND_TERMS=NO
export PRIVATE_HEADERS_FOLDER_PATH=/usr/local/include
export PRODUCT_MODULE_NAME=git2
export PRODUCT_NAME=git2
export PRODUCT_SETTINGS_PATH=
export PRODUCT_TYPE=com.apple.product-type.library.static
export PROFILING_CODE=NO
export PROJECT=SwiftGit2
export PROJECT_DERIVED_FILE_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/DerivedSources
export PROJECT_DIR=/Users/jiangzhou/Dropbox/Project/JZFastlane/Carthage/Checkouts/SwiftGit2
export PROJECT_FILE_PATH=/Users/jiangzhou/Dropbox/Project/JZFastlane/Carthage/Checkouts/SwiftGit2/SwiftGit2.xcodeproj
export PROJECT_NAME=SwiftGit2
export PROJECT_TEMP_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build
export PROJECT_TEMP_ROOT=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath
export PUBLIC_HEADERS_FOLDER_PATH=include/git2
export RECURSIVE_SEARCH_PATHS_FOLLOW_SYMLINKS=YES
export REMOVE_CVS_FROM_RESOURCES=YES
export REMOVE_GIT_FROM_RESOURCES=YES
export REMOVE_HEADERS_FROM_EMBEDDED_BUNDLES=YES
export REMOVE_HG_FROM_RESOURCES=YES
export REMOVE_SVN_FROM_RESOURCES=YES
export REZ_COLLECTOR_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/ResourceManagerResources
export REZ_EXECUTABLE=YES
export REZ_OBJECTS_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/ResourceManagerResources/Objects
export REZ_SEARCH_PATHS="/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath/Release "
export RUN_CLANG_STATIC_ANALYZER=YES
export SCAN_ALL_SOURCE_FILES_FOR_INCLUDES=NO
export SCRIPT_INPUT_FILE_COUNT=0
export SCRIPT_OUTPUT_FILE_COUNT=0
export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
export SDK_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
export SDK_DIR_macosx10_13=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
export SDK_NAME=macosx10.13
export SDK_NAMES=macosx10.13
export SDK_PRODUCT_BUILD_VERSION=17B41
export SDK_VERSION=10.13
export SDK_VERSION_ACTUAL=101300
export SDK_VERSION_MAJOR=101300
export SDK_VERSION_MINOR=1300
export SED=/usr/bin/sed
export SEPARATE_STRIP=NO
export SEPARATE_SYMBOL_EDIT=NO
export SET_DIR_MODE_OWNER_GROUP=YES
export SET_FILE_MODE_OWNER_GROUP=NO
export SHALLOW_BUNDLE=NO
export SHARED_DERIVED_FILE_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath/Release/DerivedSources
export SHARED_PRECOMPS_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/PrecompiledHeaders
export SKIP_INSTALL=YES
export SOURCE_ROOT=/Users/jiangzhou/Dropbox/Project/JZFastlane/Carthage/Checkouts/SwiftGit2
export SRCROOT=/Users/jiangzhou/Dropbox/Project/JZFastlane/Carthage/Checkouts/SwiftGit2
export STRINGS_FILE_OUTPUT_ENCODING=UTF-16
export STRIP_BITCODE_FROM_COPIED_FILES=NO
export STRIP_INSTALLED_PRODUCT=YES
export STRIP_PNG_TEXT=NO
export STRIP_STYLE=debugging
export STRIP_SWIFT_SYMBOLS=YES
export SUPPORTED_PLATFORMS=macosx
export SUPPORTS_TEXT_BASED_API=NO
export SWIFT_OPTIMIZATION_LEVEL=-Owholemodule
export SWIFT_PLATFORM_TARGET_PREFIX=macosx
export SWIFT_STDLIB_TOOL_UNSIGNED_DESTINATION_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath/SwiftSupport
export SWIFT_VERSION=3.0
export SYMROOT=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath
export SYSTEM_ADMIN_APPS_DIR=/Applications/Utilities
export SYSTEM_APPS_DIR=/Applications
export SYSTEM_CORE_SERVICES_DIR=/System/Library/CoreServices
export SYSTEM_DEMOS_DIR=/Applications/Extras
export SYSTEM_DEVELOPER_APPS_DIR=/Applications/Xcode.app/Contents/Developer/Applications
export SYSTEM_DEVELOPER_BIN_DIR=/Applications/Xcode.app/Contents/Developer/usr/bin
export SYSTEM_DEVELOPER_DEMOS_DIR="/Applications/Xcode.app/Contents/Developer/Applications/Utilities/Built Examples"
export SYSTEM_DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
export SYSTEM_DEVELOPER_DOC_DIR="/Applications/Xcode.app/Contents/Developer/ADC Reference Library"
export SYSTEM_DEVELOPER_GRAPHICS_TOOLS_DIR="/Applications/Xcode.app/Contents/Developer/Applications/Graphics Tools"
export SYSTEM_DEVELOPER_JAVA_TOOLS_DIR="/Applications/Xcode.app/Contents/Developer/Applications/Java Tools"
export SYSTEM_DEVELOPER_PERFORMANCE_TOOLS_DIR="/Applications/Xcode.app/Contents/Developer/Applications/Performance Tools"
export SYSTEM_DEVELOPER_RELEASENOTES_DIR="/Applications/Xcode.app/Contents/Developer/ADC Reference Library/releasenotes"
export SYSTEM_DEVELOPER_TOOLS=/Applications/Xcode.app/Contents/Developer/Tools
export SYSTEM_DEVELOPER_TOOLS_DOC_DIR="/Applications/Xcode.app/Contents/Developer/ADC Reference Library/documentation/DeveloperTools"
export SYSTEM_DEVELOPER_TOOLS_RELEASENOTES_DIR="/Applications/Xcode.app/Contents/Developer/ADC Reference Library/releasenotes/DeveloperTools"
export SYSTEM_DEVELOPER_USR_DIR=/Applications/Xcode.app/Contents/Developer/usr
export SYSTEM_DEVELOPER_UTILITIES_DIR=/Applications/Xcode.app/Contents/Developer/Applications/Utilities
export SYSTEM_DOCUMENTATION_DIR=/Library/Documentation
export SYSTEM_KEXT_INSTALL_PATH=/System/Library/Extensions
export SYSTEM_LIBRARY_DIR=/System/Library
export TAPI_VERIFY_MODE=ErrorsOnly
export TARGETNAME=libgit2-OSX
export TARGET_BUILD_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/UninstalledProducts/macosx
export TARGET_NAME=libgit2-OSX
export TARGET_TEMP_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build
export TEMP_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build
export TEMP_FILES_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build
export TEMP_FILE_DIR=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build
export TEMP_ROOT=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath
export TOOLCHAINS=com.apple.dt.toolchain.XcodeDefault
export TOOLCHAIN_DIR=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
export TREAT_MISSING_BASELINES_AS_TEST_FAILURES=NO
export UID=501
export UNSTRIPPED_PRODUCT=NO
export USER=jiangzhou
export USER_APPS_DIR=/Users/jiangzhou/Applications
export USER_LIBRARY_DIR=/Users/jiangzhou/Library
export USE_DYNAMIC_NO_PIC=YES
export USE_HEADERMAP=YES
export USE_HEADER_SYMLINKS=NO
export VALIDATE_PRODUCT=YES
export VALID_ARCHS=x86_64
export VERBOSE_PBXCP=NO
export VERSION_INFO_BUILDER=jiangzhou
export VERSION_INFO_FILE=git2_vers.c
export VERSION_INFO_STRING=""@(#)PROGRAM:git2 PROJECT:SwiftGit2-""
export WARNING_CFLAGS="-Wno-error=unknown-warning-option -Wno-gcc-compat -Wno-unused-const-variable -Wno-nullability-completeness"
export WATCHKIT_2_SUPPORT_FOLDER_PATH=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath/WatchKitSupport2
export WATCHKIT_SUPPORT_FOLDER_PATH=/Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/BuildProductsPath/WatchKitSupport
export WRAP_ASSET_PACKS_IN_SEPARATE_DIRECTORIES=NO
export XCODE_APP_SUPPORT_DIR=/Applications/Xcode.app/Contents/Developer/Library/Xcode
export XCODE_PRODUCT_BUILD_VERSION=9B55
export XCODE_VERSION_ACTUAL=0910
export XCODE_VERSION_MAJOR=0900
export XCODE_VERSION_MINOR=0910
export XPCSERVICES_FOLDER_PATH=/XPCServices
export YACC=yacc
export arch=x86_64
export variant=normal
/bin/sh -c /Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/SwiftGit2.build/Release/libgit2-OSX.build/Script-BEB31F931A0E567000F525B9.sh
No update needed.

SetOwnerAndGroup jiangzhou:staff /Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/UninstalledProducts/macosx/libgit2.a
cd /Users/jiangzhou/Dropbox/Project/JZFastlane/Carthage/Checkouts/SwiftGit2
/usr/sbin/chown -RH jiangzhou:staff /Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/UninstalledProducts/macosx/libgit2.a
chown: /Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/UninstalledProducts/macosx/libgit2.a: No such file or directory
Command /usr/sbin/chown failed with exit code 1

SetMode u+w,go-w,a+rX /Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/UninstalledProducts/macosx/libgit2.a
cd /Users/jiangzhou/Dropbox/Project/JZFastlane/Carthage/Checkouts/SwiftGit2
/bin/chmod -RH u+w,go-w,a+rX /Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/UninstalledProducts/macosx/libgit2.a
chmod: /Users/jiangzhou/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/c5eb8036d0b7c524bf8c7f9fd3e4a621d962be57/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGit2-OSX/IntermediateBuildFilesPath/UninstalledProducts/macosx/libgit2.a: No such file or directory
Command /bin/chmod failed with exit code 1

=== BUILD TARGET SwiftGit2-OSX OF PROJECT SwiftGit2 WITH CONFIGURATION Release ===

Latest swift build issue + suggestion

I can no longer build with latest version of Xcode, with it complaining about including inttypes not being modular.

On a side note, was wondering if you would consider moving libgit2 compilation to a separate project dedicated to the static lib targets. The reason being that the new swift seems pretty good at linking against libraries with a proper module map defined, already with a best practice forming, such as naming the underlying project something like CLibName, e.g. CGit2. I am suggesting this to potentially hide more of the backend implementation details of SwiftGit2, making the build more modular and incremental, and just maybe moving toward the workflow being developed for the swift-package-manager. I would love this project to support both build environments, hence allowing building SwiftGit2 on all nix platforms, with or without Xcode.

Carthage update error

Hello. I am trying to install SwiftGit2, but I receive this error:

*** Building scheme "SwiftGit2-iOS" in SwiftGit2.xcworkspace
** BUILD FAILED **

The following build commands failed:
PhaseScriptExecution Run\ Script /Users/yaroslav/Library/Developer/Xcode/DerivedData/SwiftGit2-fvdxwzoszqarzofvilkdjybwbryy/Build/Intermediates/SwiftGit2.build/Release-iphoneos/libssh2-iOS.build/Script-621E66EE1C729EBB00A0F352.sh
(1 failure)
/Users/yaroslav/Documents/coda/Carthage/Checkouts/SwiftGit2/SwiftGit2/Repository.swift:18:73: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant. (redundant_void_return)
A shell task (/usr/bin/xcrun xcodebuild -workspace /Users/yaroslav/Documents/coda/Carthage/Checkouts/SwiftGit2/SwiftGit2.xcworkspace -scheme SwiftGit2-iOS -configuration Release -sdk iphoneos ONLY_ACTIVE_ARCH=NO BITCODE_GENERATION_MODE=bitcode CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES clean build) failed with exit code 65:
** BUILD FAILED **

The following build commands failed:
PhaseScriptExecution Run\ Script /Users/yaroslav/Library/Developer/Xcode/DerivedData/SwiftGit2-fvdxwzoszqarzofvilkdjybwbryy/Build/Intermediates/SwiftGit2.build/Release-iphoneos/libssh2-iOS.build/Script-621E66EE1C729EBB00A0F352.sh
(1 failure)

Could you help me with it?

Proposal: Replace Result with thrown Swift errors

I'd like to discuss the possibility of changing functions which return the Result type into functions which throw Swift errors. For example:

class Repository {
	class func at(_ url: URL) -> Result<Repository, NSError> { ... }
}

would become

class Repository {
	class func at(_ url: URL) throws -> Repository { ... }
}

These API changes would result in more idiomatic swift and, in my opinion, cleaner code at the call site. (See the example below.)

Result was a very useful tool in the days before error throwing was added in Swift 2, but I think it is less necessary today. It seems to me that Result's major remaining benefit over Swift errors is the ability to specify the type of the errors a function might produce, but since SwiftGit2 only uses NSErrors, this doesn't provide any additional benefit.


This is the example from the README (updated for compatibility with Swift 3), with the current API:

let url: URL = ...
let repo = Repository.at(url)
if let repo = repo.value {
    let latestCommit: Result<Commit, NSError> = repo
        .HEAD()
        .flatMap { repo.commit($0.oid) }
    if let commit = latestCommit.value {
        print("Latest Commit: \(commit.message) by \(commit.author.name)")
    } else {
        print("Could not get commit: \(String(describing: latestCommit.error))")
    }
} else {
    print("Could not open repository: \(String(describing: repo.error))")
}

This is the same example with the proposed API changes:

let url: URL = ...
do {
    let repo = try Repository.at(url)
    do {
        let head = try repo.HEAD()
        let commit = try repo.commit(head.oid)
        print("Latest Commit: \(commit.message) by \(commit.author.name)")
    } catch {
        print("Could not get commit: \(error)")
    }
} catch {
    print("Could not open repository: \(error)")
}

API to create a branch

Probably something like this:

class Repository {
    // name: name of the new branch
    // oid: the OID to create the branch from. If `nil`, the branch will be from HEAD.
    // commiter: a signature for the committer that's used for the reflog
    // message: a message that's used for the reflog
    func createBranch(name: String, oid: OID? = nil, committer: Signature? = nil, message: String? = nil) -> Result<Branch, NSError>
}

error when building the lib for os x

I tried to build the lib for os x but get the error 127 return code from the build file.
For adding the lib to the xcode project, I followed the steps you wrote.

SwiftGit2 fails SwiftLint 0.17.0

Carthage failed to build SwiftGit2 with Xcode 8.2.1 with following errors:

/bin/sh -c /Users/groland/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftGit2/v0.3/Build/Intermediates/SwiftGit2.build/Release-iphoneos/SwiftLint.build/Script-C9CE0DD61E0710C20053205D.sh
Loading configuration from '.swiftlint.yml'
Linting Swift files in current working directory
Linting 'CheckoutStrategy.swift' (1/17)
Linting 'Credentials.swift' (2/17)
Linting 'Errors.swift' (3/17)
/Users/groland/Desktop/gittest/Carthage/Checkouts/SwiftGit2/SwiftGit2/Credentials.swift:20:7: error: Identifier Name Violation: Enum element name should start with a lowercase character: 'Default' (identifier_name)
/Users/groland/Desktop/gittest/Carthage/Checkouts/SwiftGit2/SwiftGit2/Credentials.swift:21:7: error: Identifier Name Violation: Enum element name should start with a lowercase character: 'Plaintext' (identifier_name)
Linting 'Libgit2.swift' (4/17)
Linting 'Objects.swift' (5/17)
Linting 'OID.swift' (6/17)
Linting 'Pointers.swift' (7/17)
/Users/groland/Desktop/gittest/Carthage/Checkouts/SwiftGit2/SwiftGit2/Pointers.swift:26:7: error: Identifier Name Violation: Enum element name should start with a lowercase character: 'Commit' (identifier_name)
/Users/groland/Desktop/gittest/Carthage/Checkouts/SwiftGit2/SwiftGit2/Pointers.swift:27:7: error: Identifier Name Violation: Enum element name should start with a lowercase character: 'Tree' (identifier_name)
/Users/groland/Desktop/gittest/Carthage/Checkouts/SwiftGit2/SwiftGit2/Pointers.swift:28:7: error: Identifier Name Violation: Enum element name should start with a lowercase character: 'Blob' (identifier_name)
/Users/groland/Desktop/gittest/Carthage/Checkouts/SwiftGit2/SwiftGit2/Pointers.swift:29:7: error: Identifier Name Violation: Enum element name should start with a lowercase character: 'Tag' (identifier_name)
Linting 'References.swift' (8/17)
Linting 'Remotes.swift' (9/17)
Linting 'Repository.swift' (10/17)
/Users/groland/Desktop/gittest/Carthage/Checkouts/SwiftGit2/SwiftGit2/References.swift:133:7: error: Identifier Name Violation: Enum element name should start with a lowercase character: 'Lightweight' (identifier_name)
/Users/groland/Desktop/gittest/Carthage/Checkouts/SwiftGit2/SwiftGit2/References.swift:136:7: error: Identifier Name Violation: Enum element name should start with a lowercase character: 'Annotated' (identifier_name)
Linting 'Fixtures.swift' (11/17)
Linting 'FixturesSpec.swift' (12/17)
Linting 'ObjectsSpec.swift' (13/17)
/Users/groland/Desktop/gittest/Carthage/Checkouts/SwiftGit2/SwiftGit2/Repository.swift:18:73: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant. (redundant_void_return)
Linting 'OIDSpec.swift' (14/17)
Linting 'ReferencesSpec.swift' (15/17)
Linting 'RemotesSpec.swift' (16/17)
Linting 'RepositorySpec.swift' (17/17)
Done linting! Found 9 violations, 8 serious in 17 files.

** BUILD FAILED **

The following build commands failed:
        PhaseScriptExecution Lint\ Sources /Users/groland/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftGit2/v0.3/Build/Intermediates/SwiftGit2.build/Release-iphoneos/SwiftLint.build/Script-C9CE0DD61E0710C20053205D.sh
(1 failure)

Apparently enum identifiers with uppercase initials no longer conform to recommended swift3 style.
I added identifier_name to disabled_rules in .swiftlint.yml as a temporary measure to circumvents the issue.

Carthage and Xcode Guanaco Failures

Currently it seems that carthage update and carthage build is failing for Guanaco.

clang: error: linker command failed with exit code 1 (use -v to see invocation)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
A shell task (/usr/bin/xcrun xcodebuild -workspace /src/drkibitz/SwiftGit2/Carthage/Checkouts/Guanaco/Guanaco.xcworkspace -scheme Guanaco-iOS -configuration Release -sdk iphoneos ONLY_ACTIVE_ARCH=NO BITCODE_GENERATION_MODE=bitcode CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES clean build) failed with exit code 65:
** BUILD FAILED **


The following build commands failed:
	Ld DerivedData/Guanaco/Build/Intermediates/Guanaco.build/Release-iphoneos/Guanaco-iOS.build/Objects-normal/arm64/Guanaco normal arm64
	Ld DerivedData/Guanaco/Build/Intermediates/Guanaco.build/Release-iphoneos/Guanaco-iOS.build/Objects-normal/armv7/Guanaco normal armv7
(2 failures)

Xcode testing for SwiftGit2-iOS target is also failing to link Guanaco.

ld: '/src/drkibitz/SwiftGit2/DerivedData/SwiftGit2/Build/Products/Debug-iphoneos/Nimble.framework/Nimble' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Custom Error type

Remove the function which constructs an NSError from libgit2 error information and replace it with a custom error type.

As suggested in #72 (comment)

[error] carthage update

Hi, I'm trying to install SwiftGit2 for OS X, but i got an error

Version of Xcode: 8.0 (8A218a)
Version of system: 10.12.4 (16E195)

I have installed make, libssh, libtool and automake.

Warning: cmake-3.8.1 already installed
Warning: libssh2-1.8.0 already installed
Warning: libtool-2.4.6_1 already installed
Warning: automake-1.15 already installed

Also i cleared DerivedData folder and nothing.

aims:testgit rajmund$ carthage update
*** Fetching SwiftGit2
*** Fetching Result
*** Checking out Result at "3.2.1"
*** Checking out SwiftGit2 at "v0.3"
*** xcodebuild output can be found in /var/folders/q_/nr7wws8s2fv1n32x7zwfhfvc0000gt/T/carthage-xcodebuild.wOQqE9.log
*** Building scheme "Result-watchOS" in Result.xcodeproj
*** Building scheme "Result-iOS" in Result.xcodeproj
*** Building scheme "Result-Mac" in Result.xcodeproj
*** Building scheme "Result-tvOS" in Result.xcodeproj
*** Building scheme "SwiftGit2-OSX" in SwiftGit2.xcworkspace
Build Failed
Task failed with exit code 65:
/usr/bin/xcrun xcodebuild -workspace /Users/rajmund/Projects/testgit/Carthage/Checkouts/SwiftGit2/SwiftGit2.xcworkspace -scheme SwiftGit2-OSX -configuration Release -derivedDataPath /Users/rajmund/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftGit2/v0.3 ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES clean build

This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/q_/nr7wws8s2fv1n32x7zwfhfvc0000gt/T/carthage-xcodebuild.wOQqE9.log

The logs from /var/folders/q_/nr7wws8s2fv1n32x7zwfhfvc0000gt/T/carthage-xcodebuild.wOQqE9.txt

The script Script-C9CE0DD61E0710C20053205D.sh :

#!/bin/sh
if which swiftlint >/dev/null; then
swiftlint
else
echo "warning: SwiftLint is not installed"
fi

I can't even compile SwiftGit2-OSX. logs.txt

Also tried

github "SwiftGit2/SwiftGit2" "master"

But it doesn't work too. master_logs.txt

Any ideas?

Carthage update error: failure in PhaseScriptExecution 'Lint Sources'

Can't build project via Carthage. When I do 'carthage update':

*** Fetching SwiftGit2
*** Fetching Result
*** Checking out Result at "3.2.4"
*** Checking out SwiftGit2 at "v0.3"
*** xcodebuild output can be found in /var/folders/0t/f0j7zrc13fn6bhc4vgfvw01h39r24z/T/carthage-xcodebuild.cLx0Wl.log
*** Building scheme "Result-iOS" in Result.xcodeproj
*** Building scheme "Result-Mac" in Result.xcodeproj
*** Building scheme "Result-tvOS" in Result.xcodeproj
*** Building scheme "Result-watchOS" in Result.xcodeproj
*** Building scheme "SwiftGit2-OSX" in SwiftGit2.xcworkspace
Build Failed
Task failed with exit code 65:
/usr/bin/xcrun xcodebuild -workspace /Users/motarykinao/Desktop/GitTest/Carthage/Checkouts/SwiftGit2/SwiftGit2.xcworkspace -scheme SwiftGit2-OSX -configuration Release -derivedDataPath /Users/motarykinao/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/SwiftGit2/v0.3 ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES build (launched in /Users/motarykinao/Desktop/GitTest/Carthage/Checkouts/SwiftGit2)
This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/0t/f0j7zrc13fn6bhc4vgfvw01h39r24z/T/carthage-xcodebuild.cLx0Wl.log

Log: carthage-xcodebuild.cLx0Wl.log

SwiftLint fails build.

`carthage update` fails

Running carthage update with

github SwiftGit2/SwiftGit2

give the following error supposedly building LlamaKit:

** BUILD FAILED **


The following build commands failed:
    CompileSwift normal arm64 /Users/raheel/Desktop/Gitish/Carthage/Checkouts/LlamaKit/LlamaKit/Result.swift
    CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler
    CompileSwift normal armv7 /Users/raheel/Desktop/Gitish/Carthage/Checkouts/LlamaKit/LlamaKit/Result.swift
    CompileSwiftSources normal armv7 com.apple.xcode.tools.swift.compiler
    Ditto /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Products/Release-iphoneos/LlamaKit.framework/Headers/LlamaKit-Swift.h /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Intermediates/LlamaKit.build/Release-iphoneos/LlamaKit-iOS.build/Objects-normal/armv7/LlamaKit-Swift.h
    Ditto /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Products/Release-iphoneos/LlamaKit.framework/Headers/LlamaKit-Swift.h /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Intermediates/LlamaKit.build/Release-iphoneos/LlamaKit-iOS.build/Objects-normal/arm64/LlamaKit-Swift.h
    CompileC /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Intermediates/LlamaKit.build/Release-iphoneos/LlamaKit-iOS.build/Objects-normal/armv7/LlamaKit_vers.o /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Intermediates/LlamaKit.build/Release-iphoneos/LlamaKit-iOS.build/DerivedSources/LlamaKit_vers.c normal armv7 c com.apple.compilers.llvm.clang.1_0.compiler
    CompileC /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Intermediates/LlamaKit.build/Release-iphoneos/LlamaKit-iOS.build/Objects-normal/arm64/LlamaKit_vers.o /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Intermediates/LlamaKit.build/Release-iphoneos/LlamaKit-iOS.build/DerivedSources/LlamaKit_vers.c normal arm64 c com.apple.compilers.llvm.clang.1_0.compiler
    Ditto /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Products/Release-iphoneos/LlamaKit.framework/Modules/LlamaKit.swiftmodule/arm.swiftmodule /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Intermediates/LlamaKit.build/Release-iphoneos/LlamaKit-iOS.build/Objects-normal/armv7/LlamaKit.swiftmodule
    Ditto /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Products/Release-iphoneos/LlamaKit.framework/Modules/LlamaKit.swiftmodule/arm.swiftdoc /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Intermediates/LlamaKit.build/Release-iphoneos/LlamaKit-iOS.build/Objects-normal/armv7/LlamaKit.swiftdoc
    Ditto /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Products/Release-iphoneos/LlamaKit.framework/Modules/LlamaKit.swiftmodule/arm64.swiftmodule /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Intermediates/LlamaKit.build/Release-iphoneos/LlamaKit-iOS.build/Objects-normal/arm64/LlamaKit.swiftmodule
    Ditto /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Products/Release-iphoneos/LlamaKit.framework/Modules/LlamaKit.swiftmodule/arm64.swiftdoc /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Intermediates/LlamaKit.build/Release-iphoneos/LlamaKit-iOS.build/Objects-normal/arm64/LlamaKit.swiftdoc
    Ld /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Intermediates/LlamaKit.build/Release-iphoneos/LlamaKit-iOS.build/Objects-normal/armv7/LlamaKit normal armv7
    Ld /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Intermediates/LlamaKit.build/Release-iphoneos/LlamaKit-iOS.build/Objects-normal/arm64/LlamaKit normal arm64
    CreateUniversalBinary /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Products/Release-iphoneos/LlamaKit.framework/LlamaKit normal armv7\ arm64
    GenerateDSYMFile /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Products/Release-iphoneos/LlamaKit.framework.dSYM /Users/raheel/Library/Developer/Xcode/DerivedData/LlamaKit-dvvcyzpsfroriadavzgolvvmipaf/Build/Products/Release-iphoneos/LlamaKit.framework/LlamaKit
(16 failures)

Is the motivation behind #41?

Carthage update fails

*** Fetching SwiftGit2
*** Fetching Result
*** Checking out Result at "3.2.2"
*** Checking out SwiftGit2 at "v0.3"
*** xcodebuild output can be found in /var/folders/7v/pfng2hz10rbfpbgb889l1g3w0000gn/T/carthage-xcodebuild.n5lB8v.log
*** Building scheme "Result-Mac" in Result.xcodeproj
*** Building scheme "Result-iOS" in Result.xcodeproj
*** Building scheme "Result-watchOS" in Result.xcodeproj
*** Building scheme "Result-tvOS" in Result.xcodeproj
*** Building scheme "SwiftGit2-OSX" in SwiftGit2.xcworkspace
Build Failed
	Task failed with exit code 65:
	/usr/bin/xcrun xcodebuild -workspace /Users/XXXX/Documents/xcode/simpleGit/Carthage/Checkouts/SwiftGit2/SwiftGit2.xcworkspace -scheme SwiftGit2-OSX -configuration Release -derivedDataPath /Users/XXXX/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftGit2/v0.3 ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES clean build

This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/7v/pfng2hz10rbfpbgb889l1g3w0000gn/T/carthage-xcodebuild.n5lB8v.log

I tried it dozens of times

Carthage version: 0.23.0
XCode version:    8.3.2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.