@@ -301,51 +301,41 @@ public ITask DiscardChanges(GitStatusEntry[] gitStatusEntries)
301301 {
302302 Guard . ArgumentNotNullOrEmpty ( gitStatusEntries , "gitStatusEntries" ) ;
303303
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 ) =>
314306 {
315- itemsToRevert . Add ( gitStatusEntry . path ) ;
316- }
317- }
307+ var itemsToDelete = new List < string > ( ) ;
308+ var itemsToRevert = new List < string > ( ) ;
318309
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 )
324311 {
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+ }
326320 }
327- } ) ;
328- }
329321
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 ) ;
335338
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- }
349339
350340 return HookupHandlers ( task , true , true ) ;
351341 }
0 commit comments