@@ -371,7 +371,7 @@ struct dir_rename_info {
371
371
struct strintmap idx_map ;
372
372
struct strmap dir_rename_guess ;
373
373
struct strmap * dir_rename_count ;
374
- struct strset * relevant_source_dirs ;
374
+ struct strintmap * relevant_source_dirs ;
375
375
unsigned setup ;
376
376
};
377
377
@@ -429,7 +429,7 @@ static void increment_count(struct dir_rename_info *info,
429
429
}
430
430
431
431
static void update_dir_rename_counts (struct dir_rename_info * info ,
432
- struct strset * dirs_removed ,
432
+ struct strintmap * dirs_removed ,
433
433
const char * oldname ,
434
434
const char * newname )
435
435
{
@@ -458,7 +458,7 @@ static void update_dir_rename_counts(struct dir_rename_info *info,
458
458
/* Get old_dir, skip if its directory isn't relevant. */
459
459
dirname_munge (old_dir );
460
460
if (info -> relevant_source_dirs &&
461
- !strset_contains (info -> relevant_source_dirs , old_dir ))
461
+ !strintmap_contains (info -> relevant_source_dirs , old_dir ))
462
462
break ;
463
463
464
464
/* Get new_dir */
@@ -503,7 +503,7 @@ static void update_dir_rename_counts(struct dir_rename_info *info,
503
503
}
504
504
}
505
505
506
- if (strset_contains (dirs_removed , old_dir ))
506
+ if (strintmap_contains (dirs_removed , old_dir ))
507
507
increment_count (info , old_dir , new_dir );
508
508
else
509
509
break ;
@@ -521,8 +521,8 @@ static void update_dir_rename_counts(struct dir_rename_info *info,
521
521
}
522
522
523
523
static void initialize_dir_rename_info (struct dir_rename_info * info ,
524
- struct strset * relevant_sources ,
525
- struct strset * dirs_removed ,
524
+ struct strintmap * relevant_sources ,
525
+ struct strintmap * dirs_removed ,
526
526
struct strmap * dir_rename_count )
527
527
{
528
528
struct hashmap_iter iter ;
@@ -548,12 +548,13 @@ static void initialize_dir_rename_info(struct dir_rename_info *info,
548
548
info -> relevant_source_dirs = dirs_removed ; /* might be NULL */
549
549
} else {
550
550
info -> relevant_source_dirs = xmalloc (sizeof (struct strintmap ));
551
- strset_init (info -> relevant_source_dirs );
552
- strset_for_each_entry (relevant_sources , & iter , entry ) {
551
+ strintmap_init (info -> relevant_source_dirs , 0 /* unused */ );
552
+ strintmap_for_each_entry (relevant_sources , & iter , entry ) {
553
553
char * dirname = get_dirname (entry -> key );
554
554
if (!dirs_removed ||
555
- strset_contains (dirs_removed , dirname ))
556
- strset_add (info -> relevant_source_dirs , dirname );
555
+ strintmap_contains (dirs_removed , dirname ))
556
+ strintmap_set (info -> relevant_source_dirs ,
557
+ dirname , 0 /* value irrelevant */ );
557
558
free (dirname );
558
559
}
559
560
}
@@ -617,7 +618,7 @@ void partial_clear_dir_rename_count(struct strmap *dir_rename_count)
617
618
}
618
619
619
620
static void cleanup_dir_rename_info (struct dir_rename_info * info ,
620
- struct strset * dirs_removed ,
621
+ struct strintmap * dirs_removed ,
621
622
int keep_dir_rename_count )
622
623
{
623
624
struct hashmap_iter iter ;
@@ -635,7 +636,7 @@ static void cleanup_dir_rename_info(struct dir_rename_info *info,
635
636
/* relevant_source_dirs */
636
637
if (info -> relevant_source_dirs &&
637
638
info -> relevant_source_dirs != dirs_removed ) {
638
- strset_clear (info -> relevant_source_dirs );
639
+ strintmap_clear (info -> relevant_source_dirs );
639
640
FREE_AND_NULL (info -> relevant_source_dirs );
640
641
}
641
642
@@ -657,7 +658,7 @@ static void cleanup_dir_rename_info(struct dir_rename_info *info,
657
658
const char * source_dir = entry -> key ;
658
659
struct strintmap * counts = entry -> value ;
659
660
660
- if (!strset_contains (dirs_removed , source_dir )) {
661
+ if (!strintmap_contains (dirs_removed , source_dir )) {
661
662
string_list_append (& to_remove , source_dir );
662
663
strintmap_clear (counts );
663
664
continue ;
@@ -735,8 +736,8 @@ static int find_basename_matches(struct diff_options *options,
735
736
int minimum_score ,
736
737
int num_src ,
737
738
struct dir_rename_info * info ,
738
- struct strset * relevant_sources ,
739
- struct strset * dirs_removed )
739
+ struct strintmap * relevant_sources ,
740
+ struct strintmap * dirs_removed )
740
741
{
741
742
/*
742
743
* When I checked, over 76% of file renames in linux just moved
@@ -825,7 +826,7 @@ static int find_basename_matches(struct diff_options *options,
825
826
826
827
/* Skip irrelevant sources */
827
828
if (relevant_sources &&
828
- !strset_contains (relevant_sources , filename ))
829
+ !strintmap_contains (relevant_sources , filename ))
829
830
continue ;
830
831
831
832
/* Get the basename */
@@ -954,7 +955,7 @@ static int find_renames(struct diff_score *mx,
954
955
int minimum_score ,
955
956
int copies ,
956
957
struct dir_rename_info * info ,
957
- struct strset * dirs_removed )
958
+ struct strintmap * dirs_removed )
958
959
{
959
960
int count = 0 , i ;
960
961
@@ -979,7 +980,7 @@ static int find_renames(struct diff_score *mx,
979
980
}
980
981
981
982
static void remove_unneeded_paths_from_src (int detecting_copies ,
982
- struct strset * interesting )
983
+ struct strintmap * interesting )
983
984
{
984
985
int i , new_num_src ;
985
986
@@ -1021,7 +1022,7 @@ static void remove_unneeded_paths_from_src(int detecting_copies,
1021
1022
continue ;
1022
1023
1023
1024
/* If we don't care about the source path, skip it */
1024
- if (interesting && !strset_contains (interesting , one -> path ))
1025
+ if (interesting && !strintmap_contains (interesting , one -> path ))
1025
1026
continue ;
1026
1027
1027
1028
if (new_num_src < i )
@@ -1034,8 +1035,8 @@ static void remove_unneeded_paths_from_src(int detecting_copies,
1034
1035
}
1035
1036
1036
1037
void diffcore_rename_extended (struct diff_options * options ,
1037
- struct strset * relevant_sources ,
1038
- struct strset * dirs_removed ,
1038
+ struct strintmap * relevant_sources ,
1039
+ struct strintmap * dirs_removed ,
1039
1040
struct strmap * dir_rename_count )
1040
1041
{
1041
1042
int detect_rename = options -> detect_rename ;
0 commit comments