@@ -820,12 +820,12 @@ static void init_all_refs_cb(struct all_refs_cb *cb, struct rev_info *revs,
820820 cb -> all_flags = flags ;
821821}
822822
823- static void handle_refs (struct rev_info * revs , unsigned flags ,
824- int (* for_each )(each_ref_fn , void * ))
823+ static void handle_refs (const char * submodule , struct rev_info * revs , unsigned flags ,
824+ int (* for_each )(const char * , each_ref_fn , void * ))
825825{
826826 struct all_refs_cb cb ;
827827 init_all_refs_cb (& cb , revs , flags );
828- for_each (handle_one_ref , & cb );
828+ for_each (submodule , handle_one_ref , & cb );
829829}
830830
831831static void handle_one_reflog_commit (unsigned char * sha1 , void * cb_data )
@@ -1417,14 +1417,14 @@ void parse_revision_opt(struct rev_info *revs, struct parse_opt_ctx_t *ctx,
14171417 ctx -> argc -= n ;
14181418}
14191419
1420- static int for_each_bad_bisect_ref (each_ref_fn fn , void * cb_data )
1420+ static int for_each_bad_bisect_ref (const char * submodule , each_ref_fn fn , void * cb_data )
14211421{
1422- return for_each_ref_in ( "refs/bisect/bad" , fn , cb_data );
1422+ return for_each_ref_in_submodule ( submodule , "refs/bisect/bad" , fn , cb_data );
14231423}
14241424
1425- static int for_each_good_bisect_ref (each_ref_fn fn , void * cb_data )
1425+ static int for_each_good_bisect_ref (const char * submodule , each_ref_fn fn , void * cb_data )
14261426{
1427- return for_each_ref_in ( "refs/bisect/good" , fn , cb_data );
1427+ return for_each_ref_in_submodule ( submodule , "refs/bisect/good" , fn , cb_data );
14281428}
14291429
14301430static void append_prune_data (const char * * * prune_data , const char * * av )
@@ -1466,6 +1466,10 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s
14661466{
14671467 int i , flags , left , seen_dashdash , read_from_stdin , got_rev_arg = 0 ;
14681468 const char * * prune_data = NULL ;
1469+ const char * submodule = NULL ;
1470+
1471+ if (opt )
1472+ submodule = opt -> submodule ;
14691473
14701474 /* First, search for "--" */
14711475 seen_dashdash = 0 ;
@@ -1490,26 +1494,26 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s
14901494 int opts ;
14911495
14921496 if (!strcmp (arg , "--all" )) {
1493- handle_refs (revs , flags , for_each_ref );
1494- handle_refs (revs , flags , head_ref );
1497+ handle_refs (submodule , revs , flags , for_each_ref_submodule );
1498+ handle_refs (submodule , revs , flags , head_ref_submodule );
14951499 continue ;
14961500 }
14971501 if (!strcmp (arg , "--branches" )) {
1498- handle_refs (revs , flags , for_each_branch_ref );
1502+ handle_refs (submodule , revs , flags , for_each_branch_ref_submodule );
14991503 continue ;
15001504 }
15011505 if (!strcmp (arg , "--bisect" )) {
1502- handle_refs (revs , flags , for_each_bad_bisect_ref );
1503- handle_refs (revs , flags ^ UNINTERESTING , for_each_good_bisect_ref );
1506+ handle_refs (submodule , revs , flags , for_each_bad_bisect_ref );
1507+ handle_refs (submodule , revs , flags ^ UNINTERESTING , for_each_good_bisect_ref );
15041508 revs -> bisect = 1 ;
15051509 continue ;
15061510 }
15071511 if (!strcmp (arg , "--tags" )) {
1508- handle_refs (revs , flags , for_each_tag_ref );
1512+ handle_refs (submodule , revs , flags , for_each_tag_ref_submodule );
15091513 continue ;
15101514 }
15111515 if (!strcmp (arg , "--remotes" )) {
1512- handle_refs (revs , flags , for_each_remote_ref );
1516+ handle_refs (submodule , revs , flags , for_each_remote_ref_submodule );
15131517 continue ;
15141518 }
15151519 if (!prefixcmp (arg , "--glob=" )) {
0 commit comments