@@ -820,12 +820,12 @@ static void init_all_refs_cb(struct all_refs_cb *cb, struct rev_info *revs,
820
820
cb -> all_flags = flags ;
821
821
}
822
822
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 * ))
825
825
{
826
826
struct all_refs_cb cb ;
827
827
init_all_refs_cb (& cb , revs , flags );
828
- for_each (handle_one_ref , & cb );
828
+ for_each (submodule , handle_one_ref , & cb );
829
829
}
830
830
831
831
static 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,
1417
1417
ctx -> argc -= n ;
1418
1418
}
1419
1419
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 )
1421
1421
{
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 );
1423
1423
}
1424
1424
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 )
1426
1426
{
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 );
1428
1428
}
1429
1429
1430
1430
static 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
1466
1466
{
1467
1467
int i , flags , left , seen_dashdash , read_from_stdin , got_rev_arg = 0 ;
1468
1468
const char * * prune_data = NULL ;
1469
+ const char * submodule = NULL ;
1470
+
1471
+ if (opt )
1472
+ submodule = opt -> submodule ;
1469
1473
1470
1474
/* First, search for "--" */
1471
1475
seen_dashdash = 0 ;
@@ -1490,26 +1494,26 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s
1490
1494
int opts ;
1491
1495
1492
1496
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 );
1495
1499
continue ;
1496
1500
}
1497
1501
if (!strcmp (arg , "--branches" )) {
1498
- handle_refs (revs , flags , for_each_branch_ref );
1502
+ handle_refs (submodule , revs , flags , for_each_branch_ref_submodule );
1499
1503
continue ;
1500
1504
}
1501
1505
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 );
1504
1508
revs -> bisect = 1 ;
1505
1509
continue ;
1506
1510
}
1507
1511
if (!strcmp (arg , "--tags" )) {
1508
- handle_refs (revs , flags , for_each_tag_ref );
1512
+ handle_refs (submodule , revs , flags , for_each_tag_ref_submodule );
1509
1513
continue ;
1510
1514
}
1511
1515
if (!strcmp (arg , "--remotes" )) {
1512
- handle_refs (revs , flags , for_each_remote_ref );
1516
+ handle_refs (submodule , revs , flags , for_each_remote_ref_submodule );
1513
1517
continue ;
1514
1518
}
1515
1519
if (!prefixcmp (arg , "--glob=" )) {
0 commit comments