@@ -301,51 +301,41 @@ public ITask DiscardChanges(GitStatusEntry[] gitStatusEntries)
301
301
{
302
302
Guard . ArgumentNotNullOrEmpty ( gitStatusEntries , "gitStatusEntries" ) ;
303
303
304
- var itemsToDelete = new List < string > ( ) ;
305
- var itemsToRevert = new List < string > ( ) ;
306
-
307
- foreach ( var gitStatusEntry in gitStatusEntries )
308
- {
309
- if ( gitStatusEntry . status == GitFileStatus . Added || gitStatusEntry . status == GitFileStatus . Untracked )
310
- {
311
- itemsToDelete . Add ( gitStatusEntry . path ) ;
312
- }
313
- else
304
+ ActionTask < GitStatusEntry [ ] > task = null ;
305
+ task = new ActionTask < GitStatusEntry [ ] > ( token , ( _ , entries ) =>
314
306
{
315
- itemsToRevert . Add ( gitStatusEntry . path ) ;
316
- }
317
- }
307
+ var itemsToDelete = new List < string > ( ) ;
308
+ var itemsToRevert = new List < string > ( ) ;
318
309
319
- ActionTask deleteItemsTask = null ;
320
- if ( itemsToDelete . Any ( ) )
321
- {
322
- deleteItemsTask = new ActionTask ( CancellationToken . None , ( ) => {
323
- foreach ( var itemToDelete in itemsToDelete )
310
+ foreach ( var gitStatusEntry in gitStatusEntries )
324
311
{
325
- fileSystem . FileDelete ( itemToDelete ) ;
312
+ if ( gitStatusEntry . status == GitFileStatus . Added || gitStatusEntry . status == GitFileStatus . Untracked )
313
+ {
314
+ itemsToDelete . Add ( gitStatusEntry . path ) ;
315
+ }
316
+ else
317
+ {
318
+ itemsToRevert . Add ( gitStatusEntry . path ) ;
319
+ }
326
320
}
327
- } ) ;
328
- }
329
321
330
- ITask < string > gitDiscardTask = null ;
331
- if ( itemsToRevert . Any ( ) )
332
- {
333
- gitDiscardTask = GitClient . Discard ( itemsToRevert ) ;
334
- }
322
+ if ( itemsToDelete . Any ( ) )
323
+ {
324
+ foreach ( var itemToDelete in itemsToDelete )
325
+ {
326
+ fileSystem . FileDelete ( itemToDelete ) ;
327
+ }
328
+ }
329
+
330
+ ITask < string > gitDiscardTask = null ;
331
+ if ( itemsToRevert . Any ( ) )
332
+ {
333
+ gitDiscardTask = GitClient . Discard ( itemsToRevert ) ;
334
+ task . Then ( gitDiscardTask ) ;
335
+ }
336
+ }
337
+ , ( ) => gitStatusEntries ) ;
335
338
336
- ITask task ;
337
- if ( deleteItemsTask != null && gitDiscardTask != null )
338
- {
339
- task = deleteItemsTask . Then ( gitDiscardTask ) ;
340
- }
341
- else if ( deleteItemsTask != null )
342
- {
343
- task = deleteItemsTask ;
344
- }
345
- else //if (gitDiscardTask != null)
346
- {
347
- task = gitDiscardTask ;
348
- }
349
339
350
340
return HookupHandlers ( task , true , true ) ;
351
341
}
0 commit comments