From 1af59416d9ece0b5ea82b68ac944a4c5e60d3301 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jake=20Van=20Alstyne=20=F0=9F=8E=A9?= Date: Thu, 17 Aug 2017 16:08:44 -0600 Subject: [PATCH] stub out getting repository status --- SwiftGit2/Repository.swift | 129 +++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) diff --git a/SwiftGit2/Repository.swift b/SwiftGit2/Repository.swift index 12a0d9c..95326c1 100644 --- a/SwiftGit2/Repository.swift +++ b/SwiftGit2/Repository.swift @@ -537,4 +537,133 @@ final public class Repository { let iterator = CommitIterator(repo: self, root: branch.oid.oid) return iterator } + + // MARK: - Status + + public func getRepositoryStatus() -> String { + + // adapted from https://github.com/arrbee/libgit2/blob/f18f772a8ec0cdff9315216886383dadce1379b5/examples/status.c + + var returnString = "" + + // Do this because GIT_STATUS_OPTIONS_INIT is unavailable in swift + let pointer = UnsafeMutablePointer.allocate(capacity: 1) + git_status_init_options(pointer, UInt32(GIT_STATUS_OPTIONS_VERSION)) + var options = pointer.move() + pointer.deallocate(capacity: 1) + + var status: OpaquePointer? = nil + git_status_list_new(&status, self.pointer, &options) + + let count = git_status_list_entrycount(status) + + for i in 0..