@@ -43,11 +43,12 @@ enum replace_format {
4343};
4444
4545struct show_data {
46+ struct repository * repo ;
4647 const char * pattern ;
4748 enum replace_format format ;
4849};
4950
50- static int show_reference (struct repository * r , const char * refname ,
51+ static int show_reference (const char * refname ,
5152 const struct object_id * oid ,
5253 int flag UNUSED , void * cb_data )
5354{
@@ -62,11 +63,11 @@ static int show_reference(struct repository *r, const char *refname,
6263 struct object_id object ;
6364 enum object_type obj_type , repl_type ;
6465
65- if (repo_get_oid (r , refname , & object ))
66+ if (repo_get_oid (data -> repo , refname , & object ))
6667 return error (_ ("failed to resolve '%s' as a valid ref" ), refname );
6768
68- obj_type = oid_object_info (r , & object , NULL );
69- repl_type = oid_object_info (r , oid , NULL );
69+ obj_type = oid_object_info (data -> repo , & object , NULL );
70+ repl_type = oid_object_info (data -> repo , oid , NULL );
7071
7172 printf ("%s (%s) -> %s (%s)\n" , refname , type_name (obj_type ),
7273 oid_to_hex (oid ), type_name (repl_type ));
@@ -80,6 +81,7 @@ static int list_replace_refs(const char *pattern, const char *format)
8081{
8182 struct show_data data ;
8283
84+ data .repo = the_repository ;
8385 if (!pattern )
8486 pattern = "*" ;
8587 data .pattern = pattern ;
@@ -99,7 +101,8 @@ static int list_replace_refs(const char *pattern, const char *format)
99101 "valid formats are 'short', 'medium' and 'long'" ),
100102 format );
101103
102- for_each_replace_ref (the_repository , show_reference , (void * )& data );
104+ refs_for_each_replace_ref (get_main_ref_store (the_repository ),
105+ show_reference , (void * )& data );
103106
104107 return 0 ;
105108}
0 commit comments