From d7154e6f4054944116c6eeb7a51c590c5d44d6e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jake=20Van=20Alstyne=20=F0=9F=8E=A9?= Date: Fri, 8 Sep 2017 17:19:05 -0600 Subject: [PATCH] init a StatusEntry with an initializer that takes in a git_status_entry --- SwiftGit2/Diffs.swift | 12 ++++++++++++ SwiftGit2/Repository.swift | 15 +-------------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/SwiftGit2/Diffs.swift b/SwiftGit2/Diffs.swift index 68ecb2c..5a4ae3e 100644 --- a/SwiftGit2/Diffs.swift +++ b/SwiftGit2/Diffs.swift @@ -11,6 +11,18 @@ public struct StatusEntry { public var status: Diff.Status public var headToIndex: Diff.Delta? public var indexToWorkDir: Diff.Delta? + + public init(from statusEntry: git_status_entry) { + self.status = Diff.Status(rawValue: statusEntry.status.rawValue) + + if let htoi = statusEntry.head_to_index { + self.headToIndex = Diff.Delta(from: htoi.pointee) + } + + if let itow = statusEntry.index_to_workdir { + self.indexToWorkDir = Diff.Delta(from: itow.pointee) + } + } } public struct Diff { diff --git a/SwiftGit2/Repository.swift b/SwiftGit2/Repository.swift index 9ce086b..9c5b60d 100644 --- a/SwiftGit2/Repository.swift +++ b/SwiftGit2/Repository.swift @@ -688,20 +688,7 @@ final public class Repository { continue } - var headToIndex: Diff.Delta? = nil - var indexToWorkDir: Diff.Delta? = nil - - let status = Diff.Status(rawValue: (s?.pointee.status.rawValue)!) - - if let htoi = s?.pointee.head_to_index { - headToIndex = Diff.Delta(from: htoi.pointee) - } - - if let itow = s?.pointee.index_to_workdir { - indexToWorkDir = Diff.Delta(from: itow.pointee) - } - - let statusEntry = StatusEntry(status: status, headToIndex: headToIndex, indexToWorkDir: indexToWorkDir) + let statusEntry = StatusEntry(from: (s?.pointee)!) returnArray.append(statusEntry) }