@@ -959,7 +959,7 @@ enum diff_cmd {
959
959
DIFF_FILES
960
960
};
961
961
962
- static char * verify_submodule_committish (const char * sm_path ,
962
+ static char * verify_submodule_committish (const char * sm_path ,
963
963
const char * committish )
964
964
{
965
965
struct child_process cp_rev_parse = CHILD_PROCESS_INIT ;
@@ -979,10 +979,9 @@ static char* verify_submodule_committish(const char *sm_path,
979
979
return strbuf_detach (& result , NULL );
980
980
}
981
981
982
- static void print_submodule_summary (struct summary_cb * info , char * errmsg ,
982
+ static void print_submodule_summary (struct summary_cb * info , char * errmsg ,
983
983
int total_commits , const char * displaypath ,
984
984
const char * src_abbrev , const char * dst_abbrev ,
985
- int missing_src , int missing_dst ,
986
985
struct module_cb * p )
987
986
{
988
987
if (p -> status == 'T' ) {
@@ -1036,7 +1035,7 @@ static void print_submodule_summary(struct summary_cb *info, char* errmsg,
1036
1035
static void generate_submodule_summary (struct summary_cb * info ,
1037
1036
struct module_cb * p )
1038
1037
{
1039
- char * displaypath , * src_abbrev , * dst_abbrev ;
1038
+ char * displaypath , * src_abbrev = NULL , * dst_abbrev ;
1040
1039
int missing_src = 0 , missing_dst = 0 ;
1041
1040
char * errmsg = NULL ;
1042
1041
int total_commits = -1 ;
@@ -1057,13 +1056,14 @@ static void generate_submodule_summary(struct summary_cb *info,
1057
1056
} else {
1058
1057
/* for a submodule removal (mode:0000000), don't warn */
1059
1058
if (p -> mod_dst )
1060
- warning (_ ("unexpected mode %d \n" ), p -> mod_dst );
1059
+ warning (_ ("unexpected mode %o \n" ), p -> mod_dst );
1061
1060
}
1062
1061
}
1063
1062
1064
1063
if (S_ISGITLINK (p -> mod_src )) {
1065
- src_abbrev = verify_submodule_committish (p -> sm_path ,
1066
- oid_to_hex (& p -> oid_src ));
1064
+ if (p -> status != 'D' )
1065
+ src_abbrev = verify_submodule_committish (p -> sm_path ,
1066
+ oid_to_hex (& p -> oid_src ));
1067
1067
if (!src_abbrev ) {
1068
1068
missing_src = 1 ;
1069
1069
/*
@@ -1154,8 +1154,7 @@ static void generate_submodule_summary(struct summary_cb *info,
1154
1154
1155
1155
print_submodule_summary (info , errmsg , total_commits ,
1156
1156
displaypath , src_abbrev ,
1157
- dst_abbrev , missing_src ,
1158
- missing_dst , p );
1157
+ dst_abbrev , p );
1159
1158
1160
1159
free (displaypath );
1161
1160
free (src_abbrev );
0 commit comments