@@ -169,7 +169,7 @@ public ITask CommitAllFiles(string message, string body)
169
169
. AddAll ( )
170
170
. Then ( GitClient . Commit ( message , body ) ) ;
171
171
172
- return HookupHandlers ( task ) ;
172
+ return HookupHandlers ( task , true , true ) ;
173
173
}
174
174
175
175
public ITask CommitFiles ( List < string > files , string message , string body )
@@ -178,37 +178,37 @@ public ITask CommitFiles(List<string> files, string message, string body)
178
178
. Add ( files )
179
179
. Then ( GitClient . Commit ( message , body ) ) ;
180
180
181
- return HookupHandlers ( task ) ;
181
+ return HookupHandlers ( task , true , true ) ;
182
182
}
183
183
184
184
public ITask Fetch ( string remote )
185
185
{
186
186
var task = GitClient . Fetch ( remote ) ;
187
- return HookupHandlers ( task , false ) ;
187
+ return HookupHandlers ( task , true , false ) ;
188
188
}
189
189
190
190
public ITask Pull ( string remote , string branch )
191
191
{
192
192
var task = GitClient . Pull ( remote , branch ) ;
193
- return HookupHandlers ( task ) ;
193
+ return HookupHandlers ( task , true , true ) ;
194
194
}
195
195
196
196
public ITask Push ( string remote , string branch )
197
197
{
198
198
var task = GitClient . Push ( remote , branch ) ;
199
- return HookupHandlers ( task , false ) ;
199
+ return HookupHandlers ( task , true , false ) ;
200
200
}
201
201
202
202
public ITask Revert ( string changeset )
203
203
{
204
204
var task = GitClient . Revert ( changeset ) ;
205
- return HookupHandlers ( task ) ;
205
+ return HookupHandlers ( task , true , true ) ;
206
206
}
207
207
208
208
public ITask RemoteAdd ( string remote , string url )
209
209
{
210
210
var task = GitClient . RemoteAdd ( remote , url ) ;
211
- task = HookupHandlers ( task , false ) ;
211
+ task = HookupHandlers ( task , true , false ) ;
212
212
if ( ! platform . Environment . IsWindows )
213
213
{
214
214
task . Then ( _ => {
@@ -221,7 +221,7 @@ public ITask RemoteAdd(string remote, string url)
221
221
public ITask RemoteRemove ( string remote )
222
222
{
223
223
var task = GitClient . RemoteRemove ( remote ) ;
224
- task = HookupHandlers ( task , false ) ;
224
+ task = HookupHandlers ( task , true , false ) ;
225
225
if ( ! platform . Environment . IsWindows )
226
226
{
227
227
task . Then ( _ => {
@@ -234,37 +234,37 @@ public ITask RemoteRemove(string remote)
234
234
public ITask RemoteChange ( string remote , string url )
235
235
{
236
236
var task = GitClient . RemoteChange ( remote , url ) ;
237
- return HookupHandlers ( task , false ) ;
237
+ return HookupHandlers ( task , true , false ) ;
238
238
}
239
239
240
240
public ITask SwitchBranch ( string branch )
241
241
{
242
242
var task = GitClient . SwitchBranch ( branch ) ;
243
- return HookupHandlers ( task ) ;
243
+ return HookupHandlers ( task , true , true ) ;
244
244
}
245
245
246
246
public ITask DeleteBranch ( string branch , bool deleteUnmerged = false )
247
247
{
248
248
var task = GitClient . DeleteBranch ( branch , deleteUnmerged ) ;
249
- return HookupHandlers ( task , false ) ;
249
+ return HookupHandlers ( task , true , false ) ;
250
250
}
251
251
252
252
public ITask CreateBranch ( string branch , string baseBranch )
253
253
{
254
254
var task = GitClient . CreateBranch ( branch , baseBranch ) ;
255
- return HookupHandlers ( task , false ) ;
255
+ return HookupHandlers ( task , true , false ) ;
256
256
}
257
257
258
258
public ITask LockFile ( string file )
259
259
{
260
260
var task = GitClient . Lock ( file ) ;
261
- return HookupHandlers ( task , false ) ;
261
+ return HookupHandlers ( task , true , false ) ;
262
262
}
263
263
264
264
public ITask UnlockFile ( string file , bool force )
265
265
{
266
266
var task = GitClient . Unlock ( file , force ) ;
267
- return HookupHandlers ( task , false ) ;
267
+ return HookupHandlers ( task , true , false ) ;
268
268
}
269
269
270
270
public void UpdateGitLog ( )
@@ -280,30 +280,30 @@ public void UpdateGitLog()
280
280
} ) . Start ( ) ;
281
281
}
282
282
283
- private ITask < T > HookupHandlers < T > ( ITask < T > task , bool disableWatcher = true , bool toggleBusyFlag = true )
283
+ private ITask < T > HookupHandlers < T > ( ITask < T > task , bool isExclusive , bool filesystemChangesExpected )
284
284
{
285
285
return new ActionTask ( CancellationToken . None , ( ) => {
286
- if ( toggleBusyFlag )
286
+ if ( isExclusive )
287
287
{
288
288
Logger . Trace ( "Starting Operation - Setting Busy Flag" ) ;
289
289
IsBusy = true ;
290
290
}
291
291
292
- if ( disableWatcher )
292
+ if ( filesystemChangesExpected )
293
293
{
294
294
Logger . Trace ( "Starting Operation - Disable Watcher" ) ;
295
295
watcher . Stop ( ) ;
296
296
}
297
297
} )
298
298
. Then ( task )
299
299
. Finally ( ( success , exception , result ) => {
300
- if ( disableWatcher )
300
+ if ( filesystemChangesExpected )
301
301
{
302
302
Logger . Trace ( "Ended Operation - Enable Watcher" ) ;
303
303
watcher . Start ( ) ;
304
304
}
305
305
306
- if ( toggleBusyFlag )
306
+ if ( isExclusive )
307
307
{
308
308
Logger . Trace ( "Ended Operation - Clearing Busy Flag" ) ;
309
309
IsBusy = false ;
0 commit comments