pull repository with credential

This commit is contained in:
Bob Sun 2017-01-24 16:57:16 +08:00
parent beed218947
commit 73033c1835
No known key found for this signature in database
GPG key ID: 1F86BA2052FED3B4

View file

@ -98,7 +98,7 @@ class PasswordStore {
print("start cloning...") print("start cloning...")
let credentialProvider = try credential.credentialProvider() let credentialProvider = try credential.credentialProvider()
let options: [String: Any] = [ let options: [String: Any] = [
GTRepositoryCloneOptionsCredentialProvider: credentialProvider GTRepositoryCloneOptionsCredentialProvider: credentialProvider,
] ]
storeRepository = try GTRepository.clone(from: remoteRepoURL, toWorkingDirectory: storeURL, options: options, transferProgressBlock:transferProgressBlock, checkoutProgressBlock: checkoutProgressBlock) storeRepository = try GTRepository.clone(from: remoteRepoURL, toWorkingDirectory: storeURL, options: options, transferProgressBlock:transferProgressBlock, checkoutProgressBlock: checkoutProgressBlock)
print("clone finish") print("clone finish")
@ -110,11 +110,17 @@ class PasswordStore {
return false return false
} }
} }
func pullRepository(transferProgressBlock: @escaping (UnsafePointer<git_transfer_progress>, UnsafeMutablePointer<ObjCBool>) -> Void) -> Bool { func pullRepository(transferProgressBlock: @escaping (UnsafePointer<git_transfer_progress>, UnsafeMutablePointer<ObjCBool>) -> Void) -> Bool {
print("pullRepoisitory") print("pullRepoisitory")
do { do {
print("start pulling...")
let credentialProvider = try gitCredential.credentialProvider()
let options: [String: Any] = [
GTRepositoryRemoteOptionsCredentialProvider: credentialProvider
]
let remote = try GTRemote(name: "origin", in: storeRepository!) let remote = try GTRemote(name: "origin", in: storeRepository!)
try storeRepository?.pull((storeRepository?.currentBranch())!, from: remote, withOptions: nil, progress: transferProgressBlock) try storeRepository?.pull((storeRepository?.currentBranch())!, from: remote, withOptions: options, progress: transferProgressBlock)
updatePasswordEntityCoreData() updatePasswordEntityCoreData()
return true return true
} catch { } catch {