@@ -157,7 +157,7 @@ export class Model implements IDisposable {
157157 @debounce ( 500 )
158158 private eventuallyScanPossibleSvnRepositories ( ) : void {
159159 for ( const path of this . possibleSvnRepositoryPaths ) {
160- this . tryOpenRepository ( path ) ;
160+ this . tryOpenRepository ( path , 1 ) ;
161161 }
162162
163163 this . possibleSvnRepositoryPaths . clear ( ) ;
@@ -176,6 +176,19 @@ export class Model implements IDisposable {
176176 . forEach ( p => this . eventuallyScanPossibleSvnRepository ( p ) ) ;
177177 }
178178
179+ private scanIgnored ( repository : Repository ) : void {
180+ const shouldScan =
181+ configuration . get < boolean > ( "detectIgnored" ) === true ;
182+
183+ if ( ! shouldScan ) {
184+ return ;
185+ }
186+
187+ repository . statusIgnored
188+ . map ( r => path . join ( repository . workspaceRoot , r . path ) )
189+ . forEach ( p => this . eventuallyScanPossibleSvnRepository ( p ) ) ;
190+ }
191+
179192 private disable ( ) : void {
180193 this . repositories . forEach ( repository => repository . dispose ( ) ) ;
181194 this . openRepositories = [ ] ;
@@ -335,6 +348,15 @@ export class Model implements IDisposable {
335348 return false ;
336349 }
337350 }
351+ for ( const ignored of liveRepository . repository . statusIgnored ) {
352+ const ignoredPath = path . join (
353+ liveRepository . repository . workspaceRoot ,
354+ ignored . path
355+ ) ;
356+ if ( isDescendant ( ignoredPath , hint . fsPath ) ) {
357+ return false ;
358+ }
359+ }
338360
339361 return true ;
340362 } ) ;
@@ -390,8 +412,10 @@ export class Model implements IDisposable {
390412
391413 const statusListener = repository . onDidChangeStatus ( ( ) => {
392414 this . scanExternals ( repository ) ;
415+ this . scanIgnored ( repository ) ;
393416 } ) ;
394417 this . scanExternals ( repository ) ;
418+ this . scanIgnored ( repository ) ;
395419
396420 const dispose = ( ) => {
397421 disappearListener . dispose ( ) ;
0 commit comments