mirror of
https://github.com/gosticks/SwiftGit2.git
synced 2025-10-16 11:55:34 +00:00
Refactor to reduce Repository's use of Result shims
This commit is contained in:
parent
19e24dd7d8
commit
690f6c9370
@ -712,21 +712,23 @@ public final class Repository {
|
|||||||
var mergeDiff: OpaquePointer? = nil
|
var mergeDiff: OpaquePointer? = nil
|
||||||
defer { git_object_free(mergeDiff) }
|
defer { git_object_free(mergeDiff) }
|
||||||
for parent in commit.parents {
|
for parent in commit.parents {
|
||||||
let error = self.diff(from: parent.oid, to: commit.oid) { (diff: Result<OpaquePointer, NSError>) -> NSError? in
|
let error = self.diff(from: parent.oid, to: commit.oid) {
|
||||||
guard diff.error == nil else {
|
switch $0 {
|
||||||
return diff.error!
|
case .failure(let error):
|
||||||
}
|
return error
|
||||||
|
|
||||||
|
case .success(let newDiff):
|
||||||
if mergeDiff == nil {
|
if mergeDiff == nil {
|
||||||
mergeDiff = diff.value!
|
mergeDiff = newDiff
|
||||||
} else {
|
} else {
|
||||||
let mergeResult = git_diff_merge(mergeDiff, diff.value)
|
let mergeResult = git_diff_merge(mergeDiff, newDiff)
|
||||||
guard mergeResult == GIT_OK.rawValue else {
|
guard mergeResult == GIT_OK.rawValue else {
|
||||||
return NSError(gitError: mergeResult, pointOfFailure: "git_diff_merge")
|
return NSError(gitError: mergeResult, pointOfFailure: "git_diff_merge")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if error != nil {
|
if error != nil {
|
||||||
return Result<Diff, NSError>.failure(error!)
|
return Result<Diff, NSError>.failure(error!)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user