Skip to content

Commit 34d00fe

Browse files
committed
Use NSFileManager prefetching for the isDirectory test
1 parent e2c4b6e commit 34d00fe

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

Classes/git/PBGitRepositoryWatcher.m

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -137,18 +137,19 @@ - (BOOL) indexChanged {
137137

138138
- (BOOL) gitDirectoryChanged {
139139

140-
for (NSURL* fileURL in [[NSFileManager defaultManager] contentsOfDirectoryAtURL:repository.gitURL
141-
includingPropertiesForKeys:[NSArray arrayWithObject:NSURLContentModificationDateKey]
142-
options:0
143-
144-
error:nil])
140+
NSArray *properties = @[NSURLIsDirectoryKey, NSURLContentModificationDateKey];
141+
NSArray <NSURL *> *urls = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:self.repository.gitURL
142+
includingPropertiesForKeys:properties
143+
options:0
144+
error:nil];
145+
for (NSURL *fileURL in urls)
145146
{
146-
BOOL isDirectory = NO;
147-
[[NSFileManager defaultManager] fileExistsAtPath:[fileURL path] isDirectory:&isDirectory];
148-
if (isDirectory)
147+
NSNumber *number = nil;
148+
if (![fileURL getResourceValue:&number forKey:NSURLIsDirectoryKey error:nil] || [number boolValue]) {
149149
continue;
150+
}
150151

151-
NSDate* modTime = nil;
152+
NSDate *modTime = nil;
152153
if (![fileURL getResourceValue:&modTime forKey:NSURLContentModificationDateKey error:nil])
153154
continue;
154155

0 commit comments

Comments
 (0)