@@ -316,11 +316,11 @@ impl KVStore for FilesystemStore {
316
316
let entry = entry?;
317
317
let p = entry. path ( ) ;
318
318
319
- if !dir_entry_is_key ( & p ) ? {
319
+ if !dir_entry_is_key ( & entry ) ? {
320
320
continue ;
321
321
}
322
322
323
- let key = get_key_from_dir_entry ( & p, & prefixed_dest) ?;
323
+ let key = git_key_from_dir_entry_path ( & p, & prefixed_dest) ?;
324
324
325
325
keys. push ( key) ;
326
326
}
@@ -331,7 +331,8 @@ impl KVStore for FilesystemStore {
331
331
}
332
332
}
333
333
334
- fn dir_entry_is_key ( p : & Path ) -> Result < bool , lightning:: io:: Error > {
334
+ fn dir_entry_is_key ( dir_entry : & fs:: DirEntry ) -> Result < bool , lightning:: io:: Error > {
335
+ let p = dir_entry. path ( ) ;
335
336
if let Some ( ext) = p. extension ( ) {
336
337
#[ cfg( target_os = "windows" ) ]
337
338
{
@@ -346,7 +347,7 @@ fn dir_entry_is_key(p: &Path) -> Result<bool, lightning::io::Error> {
346
347
}
347
348
}
348
349
349
- let metadata = p . metadata ( ) . map_err ( |e| {
350
+ let metadata = dir_entry . metadata ( ) . map_err ( |e| {
350
351
let msg = format ! (
351
352
"Failed to list keys at path {}: {}" ,
352
353
PrintableString ( p. to_str( ) . unwrap_or_default( ) ) ,
@@ -377,7 +378,7 @@ fn dir_entry_is_key(p: &Path) -> Result<bool, lightning::io::Error> {
377
378
Ok ( true )
378
379
}
379
380
380
- fn get_key_from_dir_entry ( p : & Path , base_path : & Path ) -> Result < String , lightning:: io:: Error > {
381
+ fn git_key_from_dir_entry_path ( p : & Path , base_path : & Path ) -> Result < String , lightning:: io:: Error > {
381
382
match p. strip_prefix ( & base_path) {
382
383
Ok ( stripped_path) => {
383
384
if let Some ( relative_path) = stripped_path. to_str ( ) {
@@ -435,24 +436,27 @@ impl MigratableKVStore for FilesystemStore {
435
436
let mut keys = Vec :: new ( ) ;
436
437
437
438
' primary_loop: for primary_entry in fs:: read_dir ( prefixed_dest) ? {
438
- let primary_path = primary_entry?. path ( ) ;
439
+ let primary_entry = primary_entry?;
440
+ let primary_path = primary_entry. path ( ) ;
439
441
440
- if dir_entry_is_key ( & primary_path ) ? {
442
+ if dir_entry_is_key ( & primary_entry ) ? {
441
443
let primary_namespace = String :: new ( ) ;
442
444
let secondary_namespace = String :: new ( ) ;
443
- let key = get_key_from_dir_entry ( & primary_path, prefixed_dest) ?;
445
+ let key = git_key_from_dir_entry_path ( & primary_path, prefixed_dest) ?;
444
446
keys. push ( ( primary_namespace, secondary_namespace, key) ) ;
445
447
continue ' primary_loop;
446
448
}
447
449
448
450
// The primary_entry is actually also a directory.
449
451
' secondary_loop: for secondary_entry in fs:: read_dir ( & primary_path) ? {
450
- let secondary_path = secondary_entry?. path ( ) ;
452
+ let secondary_entry = secondary_entry?;
453
+ let secondary_path = secondary_entry. path ( ) ;
451
454
452
- if dir_entry_is_key ( & secondary_path) ? {
453
- let primary_namespace = get_key_from_dir_entry ( & primary_path, prefixed_dest) ?;
455
+ if dir_entry_is_key ( & secondary_entry) ? {
456
+ let primary_namespace =
457
+ git_key_from_dir_entry_path ( & primary_path, prefixed_dest) ?;
454
458
let secondary_namespace = String :: new ( ) ;
455
- let key = get_key_from_dir_entry ( & secondary_path, & primary_path) ?;
459
+ let key = git_key_from_dir_entry_path ( & secondary_path, & primary_path) ?;
456
460
keys. push ( ( primary_namespace, secondary_namespace, key) ) ;
457
461
continue ' secondary_loop;
458
462
}
@@ -462,12 +466,12 @@ impl MigratableKVStore for FilesystemStore {
462
466
let tertiary_entry = tertiary_entry?;
463
467
let tertiary_path = tertiary_entry. path ( ) ;
464
468
465
- if dir_entry_is_key ( & tertiary_path ) ? {
469
+ if dir_entry_is_key ( & tertiary_entry ) ? {
466
470
let primary_namespace =
467
- get_key_from_dir_entry ( & primary_path, prefixed_dest) ?;
471
+ git_key_from_dir_entry_path ( & primary_path, prefixed_dest) ?;
468
472
let secondary_namespace =
469
- get_key_from_dir_entry ( & secondary_path, & primary_path) ?;
470
- let key = get_key_from_dir_entry ( & tertiary_path, & secondary_path) ?;
473
+ git_key_from_dir_entry_path ( & secondary_path, & primary_path) ?;
474
+ let key = git_key_from_dir_entry_path ( & tertiary_path, & secondary_path) ?;
471
475
keys. push ( ( primary_namespace, secondary_namespace, key) ) ;
472
476
} else {
473
477
debug_assert ! (
0 commit comments