@@ -250,11 +250,10 @@ fn collect_entries(
250250 if is_fanout_segment ( name) {
251251 let subtree = repo. find_tree ( entry. id ( ) ) ?;
252252 results. extend ( collect_entries ( repo, & subtree, & full) ?) ;
253- } else if let Ok ( oid) = Oid :: from_str ( & full) {
254- if oid. to_string ( ) == full {
253+ } else if let Ok ( oid) = Oid :: from_str ( & full)
254+ && oid. to_string ( ) == full {
255255 results. push ( ( oid, entry. id ( ) ) ) ;
256256 }
257- }
258257 }
259258 Ok ( results)
260259}
@@ -274,13 +273,11 @@ fn detect_fanout(
274273 . collect ( ) ;
275274 let leaf = & hex[ prefix_len..] ;
276275
277- if let Some ( subtree) = walk_tree ( repo, root, & segments) ? {
278- if let Some ( entry) = subtree. get_name ( leaf) {
279- if entry. kind ( ) == Some ( git2:: ObjectType :: Tree ) {
276+ if let Some ( subtree) = walk_tree ( repo, root, & segments) ?
277+ && let Some ( entry) = subtree. get_name ( leaf)
278+ && entry. kind ( ) == Some ( git2:: ObjectType :: Tree ) {
280279 return Ok ( Some ( ( segments, leaf. to_string ( ) , entry. id ( ) ) ) ) ;
281280 }
282- }
283- }
284281 }
285282 Ok ( None )
286283}
@@ -362,7 +359,7 @@ fn build_fanout_remove(
362359 }
363360 builder. remove ( leaf) ?;
364361
365- let mut child_oid = if builder. len ( ) == 0 {
362+ let mut child_oid = if builder. is_empty ( ) {
366363 None
367364 } else {
368365 Some ( builder. write ( ) ?)
@@ -379,7 +376,7 @@ fn build_fanout_remove(
379376 builder. remove ( seg) ?;
380377 }
381378 }
382- child_oid = if builder. len ( ) == 0 {
379+ child_oid = if builder. is_empty ( ) {
383380 None
384381 } else {
385382 Some ( builder. write ( ) ?)
@@ -526,7 +523,7 @@ fn remove_path_recursive(
526523 return Err ( Error :: from_str ( "path not found" ) ) ;
527524 }
528525 builder. remove ( name) ?;
529- if builder. len ( ) == 0 {
526+ if builder. is_empty ( ) {
530527 Ok ( None )
531528 } else {
532529 Ok ( Some ( builder. write ( ) ?) )
@@ -548,7 +545,7 @@ fn remove_path_recursive(
548545 builder. remove ( name) ?;
549546 }
550547 }
551- if builder. len ( ) == 0 {
548+ if builder. is_empty ( ) {
552549 Ok ( None )
553550 } else {
554551 Ok ( Some ( builder. write ( ) ?) )
@@ -670,15 +667,13 @@ impl MetadataIndex for Repository {
670667 let ( segments, leaf) = shard_oid ( target, opts. shard_level ) ;
671668 let existing_root = resolve_root_tree ( self , ref_name) ?;
672669
673- if !opts. force {
674- if let Some ( ref root) = existing_root {
675- if detect_fanout ( self , root, target) ?. is_some ( ) {
670+ if !opts. force
671+ && let Some ( ref root) = existing_root
672+ && detect_fanout ( self , root, target) ?. is_some ( ) {
676673 return Err ( Error :: from_str (
677674 "metadata entry already exists (use force to overwrite)" ,
678675 ) ) ;
679676 }
680- }
681- }
682677
683678 build_fanout ( self , existing_root. as_ref ( ) , & segments, & leaf, tree)
684679 }
@@ -724,15 +719,13 @@ impl MetadataIndex for Repository {
724719 } ;
725720
726721 // Check if path already exists.
727- if !opts. force {
728- if let Some ( ref meta_tree) = existing_meta_tree {
729- if path_exists_in_tree ( self , meta_tree, path) {
722+ if !opts. force
723+ && let Some ( ref meta_tree) = existing_meta_tree
724+ && path_exists_in_tree ( self , meta_tree, path) {
730725 return Err ( Error :: from_str (
731726 "path already exists in metadata (use --force to overwrite)" ,
732727 ) ) ;
733728 }
734- }
735- }
736729
737730 // Build new metadata tree with the path inserted.
738731 let new_meta_tree_oid =
@@ -869,13 +862,12 @@ impl MetadataIndex for Repository {
869862 }
870863 } ;
871864
872- if !opts. force {
873- if detect_fanout ( self , & root, to) ?. is_some ( ) {
865+ if !opts. force
866+ && detect_fanout ( self , & root, to) ?. is_some ( ) {
874867 return Err ( Error :: from_str (
875868 "metadata entry already exists for target (use --force to overwrite)" ,
876869 ) ) ;
877870 }
878- }
879871
880872 let ( segments, leaf) = shard_oid ( to, opts. shard_level ) ;
881873 let new_root = build_fanout ( self , Some ( & root) , & segments, & leaf, & source_tree_oid) ?;
@@ -995,16 +987,15 @@ impl MetadataIndex for Repository {
995987
996988 if let Some ( rel) = relation {
997989 // Only look at one relation
998- if let Some ( rel_entry) = key_tree. get_name ( rel) {
999- if rel_entry. kind ( ) == Some ( git2:: ObjectType :: Tree ) {
990+ if let Some ( rel_entry) = key_tree. get_name ( rel)
991+ && rel_entry. kind ( ) == Some ( git2:: ObjectType :: Tree ) {
1000992 let rel_tree = self . find_tree ( rel_entry. id ( ) ) ?;
1001993 for target_entry in rel_tree. iter ( ) {
1002994 if let Some ( name) = target_entry. name ( ) {
1003995 results. push ( ( rel. to_string ( ) , name. to_string ( ) ) ) ;
1004996 }
1005997 }
1006998 }
1007- }
1008999 } else {
10091000 // All relations
10101001 for rel_entry in key_tree. iter ( ) {
0 commit comments