@@ -179,15 +179,17 @@ class LocalGitServiceProvider: GitServiceProvider {
179
179
let repository = try self . checkedRepository ( )
180
180
let ref = try repository. HEAD ( ) . get ( )
181
181
guard let branch = ref as? Branch ,
182
- let branchName = branch. shortName
182
+ let branchName = branch. shortName
183
183
else {
184
184
throw NSError ( descriptionKey: " Git is in detached mode " )
185
185
}
186
- let remoteBranch = try repository. remoteBranch ( named: " \( remote? . name ?? " origin " ) / \( branchName) " ) . get ( )
186
+ let remoteBranch = try repository. remoteBranch (
187
+ named: " \( remote? . name ?? " origin " ) / \( branchName) "
188
+ ) . get ( )
187
189
return try repository. aheadBehind ( local: ref. oid, upstream: remoteBranch. oid) . get ( )
188
190
}
189
191
}
190
-
192
+
191
193
func status( ) async throws -> [ StatusEntry ] {
192
194
return try await WorkerQueueTask {
193
195
let repository = try self . checkedRepository ( )
@@ -196,7 +198,7 @@ class LocalGitServiceProvider: GitServiceProvider {
196
198
] ) . get ( )
197
199
}
198
200
}
199
-
201
+
200
202
func createRepository( ) async throws {
201
203
try await WorkerQueueTask {
202
204
guard !self . hasRepository else {
@@ -233,7 +235,7 @@ class LocalGitServiceProvider: GitServiceProvider {
233
235
fetchProgress: fetchProgressBlock
234
236
) . get ( )
235
237
} else {
236
- _ = try Repository . clone (
238
+ _ = try Repository . clone (
237
239
from: from,
238
240
to: to,
239
241
checkoutProgress: checkoutProgressBlock,
@@ -264,7 +266,7 @@ class LocalGitServiceProvider: GitServiceProvider {
264
266
self . contentCache. removeAllObjects ( )
265
267
}
266
268
}
267
-
269
+
268
270
func unstage( paths: [ String ] ) async throws {
269
271
try await WorkerQueueTask {
270
272
let repository = try self . checkedRepository ( )
@@ -298,21 +300,21 @@ class LocalGitServiceProvider: GitServiceProvider {
298
300
}
299
301
}
300
302
}
301
-
303
+
302
304
func remotes( ) async throws -> [ Remote ] {
303
305
return try await WorkerQueueTask {
304
306
let repository = try self . checkedRepository ( )
305
307
return try repository. allRemotes ( ) . get ( )
306
308
}
307
309
}
308
-
310
+
309
311
func currentBranch( ) async throws -> Branch {
310
312
try await WorkerQueueTask {
311
313
let repository = try self . checkedRepository ( )
312
314
let head = try repository. HEAD ( ) . get ( )
313
315
if let branch = head as? Branch {
314
316
return branch
315
- } else {
317
+ } else {
316
318
throw NSError ( descriptionKey: " Repository is in detached mode " )
317
319
}
318
320
}
@@ -322,7 +324,9 @@ class LocalGitServiceProvider: GitServiceProvider {
322
324
try await WorkerQueueTask {
323
325
let repository = try self . checkedRepository ( )
324
326
let credentials = try self . checkedCredentials ( )
325
- try repository. push ( credentials: credentials, branch: branch. longName, remoteName: to. name) { current, total in
327
+ try repository. push (
328
+ credentials: credentials, branch: branch. longName, remoteName: to. name
329
+ ) { current, total in
326
330
DispatchQueue . main. async {
327
331
progress? . totalUnitCount = Int64 ( current)
328
332
progress? . completedUnitCount = Int64 ( total)
@@ -338,46 +342,47 @@ class LocalGitServiceProvider: GitServiceProvider {
338
342
self . contentCache. removeAllObjects ( )
339
343
}
340
344
}
341
-
345
+
342
346
func localBranches( ) async throws -> [ Branch ] {
343
- return try await WorkerQueueTask {
347
+ return try await WorkerQueueTask {
344
348
let repository = try self . checkedRepository ( )
345
349
return try repository. localBranches ( ) . get ( )
346
350
}
347
351
}
348
352
349
353
func remoteBranches( ) async throws -> [ Branch ] {
350
- return try await WorkerQueueTask {
354
+ return try await WorkerQueueTask {
351
355
let repository = try self . checkedRepository ( )
352
356
return try repository. remoteBranches ( ) . get ( )
353
357
}
354
358
}
355
359
356
360
func tags( ) async throws -> [ TagReference ] {
357
- return try await WorkerQueueTask {
361
+ return try await WorkerQueueTask {
358
362
let repository = try self . checkedRepository ( )
359
363
return try repository. allTags ( ) . get ( )
360
364
}
361
365
}
362
-
366
+
363
367
/// Returns the OID of the path at the current HEAD
364
368
private func fileOidAtPathForLastCommit( path: String ) throws -> OID {
365
369
let repository = try self . checkedRepository ( )
366
370
let entries = try repository. status ( options: [ . includeUnmodified] ) . get ( )
367
371
for entry in entries {
368
372
if let oldFilePath = entry. headToIndex? . oldFile? . path,
369
- path == oldFilePath,
370
- let oid = entry. headToIndex? . oldFile? . oid {
373
+ path == oldFilePath,
374
+ let oid = entry. headToIndex? . oldFile? . oid
375
+ {
371
376
return oid
372
377
}
373
378
}
374
379
throw NSError ( descriptionKey: " Unable to locate OID for \( path) " )
375
380
}
376
-
381
+
377
382
func previous( path: String ) async throws -> String {
378
383
return try await WorkerQueueTask {
379
384
let repository = try self . checkedRepository ( )
380
-
385
+
381
386
if let cached = self . contentCache. object ( forKey: path as NSString ) {
382
387
return ( cached as String )
383
388
}
@@ -386,7 +391,7 @@ class LocalGitServiceProvider: GitServiceProvider {
386
391
387
392
let oid = try self . fileOidAtPathForLastCommit ( path: path)
388
393
let blob = try repository. blob ( oid) . get ( )
389
-
394
+
390
395
guard let content = String ( data: blob. data, encoding: . utf8) else {
391
396
throw NSError ( descriptionKey: " Unable to decode data " )
392
397
}
0 commit comments