@@ -270,7 +270,7 @@ public ITask UnlockFile(string file, bool force)
270
270
public void UpdateGitLog ( )
271
271
{
272
272
var task = GitClient . Log ( ) ;
273
- HookupHandlers ( task ) ;
273
+ task = HookupHandlers ( task , false , false ) ;
274
274
task . Then ( ( success , logEntries ) =>
275
275
{
276
276
if ( success )
@@ -280,6 +280,19 @@ public void UpdateGitLog()
280
280
} ) . Start ( ) ;
281
281
}
282
282
283
+ public void UpdateGitStatus ( )
284
+ {
285
+ var task = GitClient . Status ( ) ;
286
+ task = HookupHandlers ( task , true , false ) ;
287
+ task . Then ( ( success , status ) =>
288
+ {
289
+ if ( success )
290
+ {
291
+ GitStatusUpdated ? . Invoke ( status ) ;
292
+ }
293
+ } ) . Start ( ) ;
294
+ }
295
+
283
296
private ITask < T > HookupHandlers < T > ( ITask < T > task , bool isExclusive , bool filesystemChangesExpected )
284
297
{
285
298
return new ActionTask ( CancellationToken . None , ( ) => {
@@ -321,7 +334,7 @@ private ITask<T> HookupHandlers<T>(ITask<T> task, bool isExclusive, bool filesys
321
334
public void UpdateLocks ( )
322
335
{
323
336
var task = GitClient . ListLocks ( false ) ;
324
- HookupHandlers ( task ) ;
337
+ HookupHandlers ( task , false , false ) ;
325
338
task . Then ( ( success , locks ) =>
326
339
{
327
340
if ( success )
@@ -391,31 +404,6 @@ private void UpdateCurrentBranchAndRemote(string head)
391
404
CurrentBranchUpdated ? . Invoke ( branch , remote ) ;
392
405
}
393
406
394
- private ITask HookupHandlers ( ITask task , bool disableWatcher = false )
395
- {
396
- task . OnStart += t => {
397
- Logger . Trace ( "Start " + task . Name ) ;
398
- IsBusy = true ;
399
-
400
- if ( disableWatcher )
401
- {
402
- watcher . Stop ( ) ;
403
- }
404
- } ;
405
-
406
- task . OnEnd += t => {
407
- if ( disableWatcher )
408
- {
409
- watcher . Start ( ) ;
410
- }
411
-
412
- IsBusy = false ;
413
-
414
- Logger . Trace ( "Finish " + task . Name ) ;
415
- } ;
416
- return task ;
417
- }
418
-
419
407
private void WatcherOnRemoteBranchesChanged ( )
420
408
{
421
409
Logger . Trace ( "WatcherOnRemoteBranchesChanged" ) ;
0 commit comments