@@ -829,12 +829,13 @@ export class GitTreeCompareProvider implements TreeDataProvider<Element>, Dispos
829829        } 
830830    } 
831831
832-     async  openFile ( fileEntry ?: FileElement )  { 
833-         const  diffStatus  =  this . getDiffStatus ( fileEntry ) ; 
834-         if  ( ! diffStatus )  { 
835-             return ; 
832+     async  openFile ( fileEntries : FileElement [ ] )  { 
833+         for  ( const  fileEntry  of  fileEntries )  { 
834+             const  diffStatus  =  this . getDiffStatus ( fileEntry ) ; 
835+             if  ( diffStatus )  { 
836+                 await  this . doOpenFile ( diffStatus . dstAbsPath ,  diffStatus . status ) ; 
837+             } 
836838        } 
837-         return  this . doOpenFile ( diffStatus . dstAbsPath ,  diffStatus . status ) ; 
838839    } 
839840
840841    async  doOpenFile ( dstAbsPath : string ,  status : StatusCode ,  preview = false )  { 
@@ -847,14 +848,16 @@ export class GitTreeCompareProvider implements TreeDataProvider<Element>, Dispos
847848        return  commands . executeCommand ( 'vscode.open' ,  uri ,  options ) ; 
848849    } 
849850
850-     async  discardChanges ( entry ?:  FileElement  |  FolderElement )  { 
851+     async  discardChanges ( entries :  ( FileElement  |  FolderElement ) [ ] )  { 
851852        let  statuses : IDiffStatus [ ]  =  [ ] ; 
852-         if  ( entry  instanceof  FolderElement )  { 
853-             statuses  =  [ ...this . iterFiles ( entry . dstAbsPath ) ] ; 
854-         }  else  { 
855-             const  diffStatus  =  this . getDiffStatus ( entry ) ; 
856-             if  ( diffStatus )  { 
857-                 statuses . push ( diffStatus ) ; 
853+         for  ( const  entry  of  entries )  { 
854+             if  ( entry  instanceof  FolderElement )  { 
855+                 statuses  =  statuses . concat ( [ ...this . iterFiles ( entry . dstAbsPath ) ] ) ; 
856+             }  else  { 
857+                 const  diffStatus  =  this . getDiffStatus ( entry ) ; 
858+                 if  ( diffStatus )  { 
859+                     statuses . push ( diffStatus ) ; 
860+                 } 
858861            } 
859862        } 
860863        await  this . doDiscardChanges ( statuses ) ; 
0 commit comments