mirror of
https://github.com/gosticks/SwiftGit2.git
synced 2025-10-16 11:55:34 +00:00
Use non-Optional pointers wherever possible
This commit is contained in:
parent
003464dde8
commit
755dfe08f6
@ -21,8 +21,8 @@ public enum Credentials {
|
||||
case Plaintext(username: String, password: String)
|
||||
case SSHMemory(username: String, publicKey: String, privateKey: String, passphrase: String)
|
||||
|
||||
internal static func fromPointer(_ pointer: UnsafeMutableRawPointer?) -> Credentials {
|
||||
return Unmanaged<Wrapper<Credentials>>.fromOpaque(UnsafeRawPointer(pointer)!).takeRetainedValue().value
|
||||
internal static func fromPointer(_ pointer: UnsafeMutableRawPointer) -> Credentials {
|
||||
return Unmanaged<Wrapper<Credentials>>.fromOpaque(UnsafeRawPointer(pointer)).takeRetainedValue().value
|
||||
}
|
||||
|
||||
internal func toPointer() -> UnsafeMutableRawPointer {
|
||||
@ -36,7 +36,7 @@ internal func credentialsCallback(cred: UnsafeMutablePointer<UnsafeMutablePointe
|
||||
payload: UnsafeMutableRawPointer?) -> Int32 {
|
||||
let result: Int32
|
||||
|
||||
switch Credentials.fromPointer(payload) {
|
||||
switch Credentials.fromPointer(payload!) {
|
||||
case .Default():
|
||||
result = git_cred_default_new(cred)
|
||||
case .Plaintext(let username, let password):
|
||||
|
||||
@ -17,7 +17,7 @@ public protocol ObjectType {
|
||||
var oid: OID { get }
|
||||
|
||||
/// Create an instance with the underlying libgit2 type.
|
||||
init(_ pointer: OpaquePointer?)
|
||||
init(_ pointer: OpaquePointer)
|
||||
}
|
||||
|
||||
public func == <O: ObjectType>(lhs: O, rhs: O) -> Bool {
|
||||
@ -82,7 +82,7 @@ public struct Commit: ObjectType {
|
||||
public let message: String
|
||||
|
||||
/// Create an instance with a libgit2 `git_commit` object.
|
||||
public init(_ pointer: OpaquePointer?) {
|
||||
public init(_ pointer: OpaquePointer) {
|
||||
oid = OID(git_object_id(pointer).pointee)
|
||||
message = String(validatingUTF8: git_commit_message(pointer))!
|
||||
author = Signature(git_commit_author(pointer).pointee)
|
||||
@ -117,7 +117,7 @@ public struct Tree: ObjectType {
|
||||
public let name: String
|
||||
|
||||
/// Create an instance with a libgit2 `git_tree_entry`.
|
||||
public init(_ pointer: OpaquePointer?) {
|
||||
public init(_ pointer: OpaquePointer) {
|
||||
let oid = OID(git_tree_entry_id(pointer).pointee)
|
||||
attributes = Int32(git_tree_entry_filemode(pointer).rawValue)
|
||||
object = Pointer(oid: oid, type: git_tree_entry_type(pointer))!
|
||||
@ -139,12 +139,12 @@ public struct Tree: ObjectType {
|
||||
public let entries: [String: Entry]
|
||||
|
||||
/// Create an instance with a libgit2 `git_tree`.
|
||||
public init(_ pointer: OpaquePointer?) {
|
||||
public init(_ pointer: OpaquePointer) {
|
||||
oid = OID(git_object_id(pointer).pointee)
|
||||
|
||||
var entries: [String: Entry] = [:]
|
||||
for idx in 0..<git_tree_entrycount(pointer) {
|
||||
let entry = Entry(git_tree_entry_byindex(pointer, idx))
|
||||
let entry = Entry(git_tree_entry_byindex(pointer, idx)!)
|
||||
entries[entry.name] = entry
|
||||
}
|
||||
self.entries = entries
|
||||
@ -186,7 +186,7 @@ public struct Blob: ObjectType {
|
||||
public let data: Data
|
||||
|
||||
/// Create an instance with a libgit2 `git_blob`.
|
||||
public init(_ pointer: OpaquePointer?) {
|
||||
public init(_ pointer: OpaquePointer) {
|
||||
oid = OID(git_object_id(pointer).pointee)
|
||||
|
||||
let length = Int(git_blob_rawsize(pointer))
|
||||
@ -220,7 +220,7 @@ public struct Tag: ObjectType {
|
||||
public let message: String
|
||||
|
||||
/// Create an instance with a libgit2 `git_tag`.
|
||||
public init(_ pointer: OpaquePointer?) {
|
||||
public init(_ pointer: OpaquePointer) {
|
||||
oid = OID(git_object_id(pointer).pointee)
|
||||
let targetOID = OID(git_tag_target_id(pointer).pointee)
|
||||
target = Pointer(oid: targetOID, type: git_tag_target_type(pointer))!
|
||||
|
||||
@ -26,7 +26,7 @@ public func ==<T: ReferenceType>(lhs: T, rhs: T) -> Bool {
|
||||
}
|
||||
|
||||
/// Create a Reference, Branch, or TagReference from a libgit2 `git_reference`.
|
||||
internal func referenceWithLibGit2Reference(_ pointer: OpaquePointer?) -> ReferenceType {
|
||||
internal func referenceWithLibGit2Reference(_ pointer: OpaquePointer) -> ReferenceType {
|
||||
if git_reference_is_branch(pointer) != 0 || git_reference_is_remote(pointer) != 0 {
|
||||
return Branch(pointer)!
|
||||
} else if git_reference_is_tag(pointer) != 0 {
|
||||
@ -48,7 +48,7 @@ public struct Reference: ReferenceType {
|
||||
public let oid: OID
|
||||
|
||||
/// Create an instance with a libgit2 `git_reference` object.
|
||||
public init(_ pointer: OpaquePointer?) {
|
||||
public init(_ pointer: OpaquePointer) {
|
||||
let shorthand = String(validatingUTF8: git_reference_shorthand(pointer))!
|
||||
longName = String(validatingUTF8: git_reference_name(pointer))!
|
||||
shortName = (shorthand == longName ? nil : shorthand)
|
||||
@ -95,7 +95,7 @@ public struct Branch: ReferenceType {
|
||||
/// Create an instance with a libgit2 `git_reference` object.
|
||||
///
|
||||
/// Returns `nil` if the pointer isn't a branch.
|
||||
public init?(_ pointer: OpaquePointer?) {
|
||||
public init?(_ pointer: OpaquePointer) {
|
||||
let namePointer = UnsafeMutablePointer<UnsafePointer<Int8>?>.allocate(capacity: 1)
|
||||
let success = git_branch_name(namePointer, pointer)
|
||||
if success != GIT_OK.rawValue {
|
||||
@ -175,7 +175,7 @@ public enum TagReference: ReferenceType {
|
||||
/// Create an instance with a libgit2 `git_reference` object.
|
||||
///
|
||||
/// Returns `nil` if the pointer isn't a branch.
|
||||
public init?(_ pointer: OpaquePointer?) {
|
||||
public init?(_ pointer: OpaquePointer) {
|
||||
if git_reference_is_tag(pointer) == 0 {
|
||||
return nil;
|
||||
}
|
||||
@ -187,7 +187,7 @@ public enum TagReference: ReferenceType {
|
||||
var pointer: OpaquePointer? = nil
|
||||
let result = git_object_lookup(&pointer, repo, &oid, GIT_OBJ_TAG)
|
||||
if result == GIT_OK.rawValue {
|
||||
self = .Annotated(name, Tag(pointer))
|
||||
self = .Annotated(name, Tag(pointer!))
|
||||
} else {
|
||||
self = .Lightweight(name, OID(oid))
|
||||
}
|
||||
|
||||
@ -19,7 +19,7 @@ public struct Remote {
|
||||
public let URL: String
|
||||
|
||||
/// Create an instance with a libgit2 `git_remote`.
|
||||
public init(_ pointer: OpaquePointer?) {
|
||||
public init(_ pointer: OpaquePointer) {
|
||||
name = String(validatingUTF8: git_remote_name(pointer))!
|
||||
URL = String(validatingUTF8: git_remote_url(pointer))!
|
||||
}
|
||||
|
||||
@ -111,7 +111,7 @@ final public class Repository {
|
||||
return Result.failure(libGit2Error(result, libGit2PointOfFailure: "git_repository_open"))
|
||||
}
|
||||
|
||||
let repository = Repository(pointer)
|
||||
let repository = Repository(pointer!)
|
||||
return Result.success(repository)
|
||||
}
|
||||
|
||||
@ -141,7 +141,7 @@ final public class Repository {
|
||||
return Result.failure(libGit2Error(result, libGit2PointOfFailure: "git_clone"))
|
||||
}
|
||||
|
||||
let repository = Repository(pointer)
|
||||
let repository = Repository(pointer!)
|
||||
return Result.success(repository)
|
||||
}
|
||||
|
||||
@ -150,7 +150,7 @@ final public class Repository {
|
||||
/// Create an instance with a libgit2 `git_repository` object.
|
||||
///
|
||||
/// The Repository assumes ownership of the `git_repository` object.
|
||||
public init(_ pointer: OpaquePointer?) {
|
||||
public init(_ pointer: OpaquePointer) {
|
||||
self.pointer = pointer
|
||||
|
||||
let path = git_repository_workdir(pointer)
|
||||
@ -164,7 +164,7 @@ final public class Repository {
|
||||
// MARK: - Properties
|
||||
|
||||
/// The underlying libgit2 `git_repository` object.
|
||||
public let pointer: OpaquePointer?
|
||||
public let pointer: OpaquePointer
|
||||
|
||||
/// The URL of the repository's working directory, or `nil` if the
|
||||
/// repository is bare.
|
||||
@ -181,7 +181,7 @@ final public class Repository {
|
||||
///
|
||||
/// Returns the result of calling `transform` or an error if the object
|
||||
/// cannot be loaded.
|
||||
func withLibgit2Object<T>(_ oid: OID, type: git_otype, transform: (OpaquePointer?) -> Result<T, NSError>) -> Result<T, NSError> {
|
||||
func withLibgit2Object<T>(_ oid: OID, type: git_otype, transform: (OpaquePointer) -> Result<T, NSError>) -> Result<T, NSError> {
|
||||
var pointer: OpaquePointer? = nil
|
||||
var oid = oid.oid
|
||||
let result = git_object_lookup(&pointer, self.pointer, &oid, type)
|
||||
@ -190,12 +190,12 @@ final public class Repository {
|
||||
return Result.failure(libGit2Error(result, libGit2PointOfFailure: "git_object_lookup"))
|
||||
}
|
||||
|
||||
let value = transform(pointer)
|
||||
let value = transform(pointer!)
|
||||
git_object_free(pointer)
|
||||
return value
|
||||
}
|
||||
|
||||
func withLibgit2Object<T>(_ oid: OID, type: git_otype, transform: (OpaquePointer?) -> T) -> Result<T, NSError> {
|
||||
func withLibgit2Object<T>(_ oid: OID, type: git_otype, transform: (OpaquePointer) -> T) -> Result<T, NSError> {
|
||||
return withLibgit2Object(oid, type: type) { Result.success(transform($0)) }
|
||||
}
|
||||
|
||||
@ -332,7 +332,7 @@ final public class Repository {
|
||||
return Result.failure(libGit2Error(result, libGit2PointOfFailure: "git_remote_lookup"))
|
||||
}
|
||||
|
||||
let value = Remote(pointer)
|
||||
let value = Remote(pointer!)
|
||||
git_remote_free(pointer)
|
||||
return Result.success(value)
|
||||
}
|
||||
@ -380,7 +380,7 @@ final public class Repository {
|
||||
return Result.failure(libGit2Error(result, libGit2PointOfFailure: "git_reference_lookup"))
|
||||
}
|
||||
|
||||
let value = referenceWithLibGit2Reference(pointer)
|
||||
let value = referenceWithLibGit2Reference(pointer!)
|
||||
git_reference_free(pointer)
|
||||
return Result.success(value)
|
||||
}
|
||||
@ -435,7 +435,7 @@ final public class Repository {
|
||||
if result != GIT_OK.rawValue {
|
||||
return Result.failure(libGit2Error(result, libGit2PointOfFailure: "git_repository_head"))
|
||||
}
|
||||
let value = referenceWithLibGit2Reference(pointer)
|
||||
let value = referenceWithLibGit2Reference(pointer!)
|
||||
git_reference_free(pointer)
|
||||
return Result.success(value)
|
||||
}
|
||||
|
||||
@ -12,13 +12,13 @@ import Nimble
|
||||
import Quick
|
||||
import libgit2
|
||||
|
||||
func from_git_object<T>(_ repository: Repository, oid: OID, f: (OpaquePointer?) -> T) -> T {
|
||||
func from_git_object<T>(_ repository: Repository, oid: OID, f: (OpaquePointer) -> T) -> T {
|
||||
let repository = repository.pointer
|
||||
var oid = oid.oid
|
||||
|
||||
var pointer: OpaquePointer? = nil
|
||||
git_object_lookup(&pointer, repository, &oid, GIT_OBJ_ANY)
|
||||
let result = f(pointer)
|
||||
let result = f(pointer!)
|
||||
git_object_free(pointer)
|
||||
|
||||
return result
|
||||
|
||||
@ -12,12 +12,12 @@ import Nimble
|
||||
import Quick
|
||||
import libgit2
|
||||
|
||||
func from_git_reference<T>(_ repository: Repository, name: String, f: (OpaquePointer?) -> T) -> T {
|
||||
func from_git_reference<T>(_ repository: Repository, name: String, f: (OpaquePointer) -> T) -> T {
|
||||
let repository = repository.pointer
|
||||
|
||||
var pointer: OpaquePointer? = nil
|
||||
git_reference_lookup(&pointer, repository, name)
|
||||
let result = f(pointer)
|
||||
let result = f(pointer!)
|
||||
git_object_free(pointer)
|
||||
|
||||
return result
|
||||
|
||||
@ -12,12 +12,12 @@ import Nimble
|
||||
import Quick
|
||||
import libgit2
|
||||
|
||||
func with_git_remote<T>(_ repository: Repository, name: String, f: (OpaquePointer?) -> T) -> T {
|
||||
func with_git_remote<T>(_ repository: Repository, name: String, f: (OpaquePointer) -> T) -> T {
|
||||
let repository = repository.pointer
|
||||
|
||||
var pointer: OpaquePointer? = nil
|
||||
git_remote_lookup(&pointer, repository, name)
|
||||
let result = f(pointer)
|
||||
let result = f(pointer!)
|
||||
git_object_free(pointer)
|
||||
|
||||
return result
|
||||
|
||||
Loading…
Reference in New Issue
Block a user