2020#include <oidset.h>
2121#include <tree.h>
2222
23- static const char * short_commit_name (struct commit * commit )
23+ static const char * short_commit_name (struct repository * repo ,
24+ struct commit * commit )
2425{
25- return repo_find_unique_abbrev (the_repository , & commit -> object .oid ,
26+ return repo_find_unique_abbrev (repo , & commit -> object .oid ,
2627 DEFAULT_ABBREV );
2728}
2829
29- static struct commit * peel_committish (const char * name )
30+ static struct commit * peel_committish (struct repository * repo , const char * name )
3031{
3132 struct object * obj ;
3233 struct object_id oid ;
3334
34- if (repo_get_oid (the_repository , name , & oid ))
35+ if (repo_get_oid (repo , name , & oid ))
3536 return NULL ;
36- obj = parse_object (the_repository , & oid );
37- return (struct commit * )repo_peel_to_type (the_repository , name , 0 , obj ,
37+ obj = parse_object (repo , & oid );
38+ return (struct commit * )repo_peel_to_type (repo , name , 0 , obj ,
3839 OBJ_COMMIT );
3940}
4041
@@ -50,7 +51,8 @@ static char *get_author(const char *message)
5051 return NULL ;
5152}
5253
53- static struct commit * create_commit (struct tree * tree ,
54+ static struct commit * create_commit (struct repository * repo ,
55+ struct tree * tree ,
5456 struct commit * based_on ,
5557 struct commit * parent )
5658{
@@ -62,7 +64,7 @@ static struct commit *create_commit(struct tree *tree,
6264 struct commit_extra_header * extra = NULL ;
6365 struct strbuf msg = STRBUF_INIT ;
6466 const char * out_enc = get_commit_output_encoding ();
65- const char * message = repo_logmsg_reencode (the_repository , based_on ,
67+ const char * message = repo_logmsg_reencode (repo , based_on ,
6668 NULL , out_enc );
6769 const char * orig_message = NULL ;
6870 const char * exclude_gpgsig [] = { "gpgsig" , NULL };
@@ -79,7 +81,7 @@ static struct commit *create_commit(struct tree *tree,
7981 goto out ;
8082 }
8183
82- obj = parse_object (the_repository , & ret );
84+ obj = parse_object (repo , & ret );
8385
8486out :
8587 free_commit_extra_headers (extra );
@@ -97,7 +99,8 @@ struct ref_info {
9799 int negative_refexprs ;
98100};
99101
100- static void get_ref_information (struct rev_cmdline_info * cmd_info ,
102+ static void get_ref_information (struct repository * repo ,
103+ struct rev_cmdline_info * cmd_info ,
101104 struct ref_info * ref_info )
102105{
103106 int i ;
@@ -132,14 +135,14 @@ static void get_ref_information(struct rev_cmdline_info *cmd_info,
132135
133136 if (* refexpr == '^' )
134137 refexpr ++ ;
135- if (repo_dwim_ref (the_repository , refexpr , strlen (refexpr ), & oid , & fullname , 0 ) != 1 )
138+ if (repo_dwim_ref (repo , refexpr , strlen (refexpr ), & oid , & fullname , 0 ) != 1 )
136139 can_uniquely_dwim = 0 ;
137140
138141 if (e -> flags & BOTTOM ) {
139142 if (can_uniquely_dwim )
140143 strset_add (& ref_info -> negative_refs , fullname );
141144 if (!ref_info -> negative_refexprs )
142- ref_info -> onto = lookup_commit_reference_gently (the_repository ,
145+ ref_info -> onto = lookup_commit_reference_gently (repo ,
143146 & e -> item -> oid , 1 );
144147 ref_info -> negative_refexprs ++ ;
145148 } else {
@@ -152,31 +155,32 @@ static void get_ref_information(struct rev_cmdline_info *cmd_info,
152155 }
153156}
154157
155- static void determine_replay_mode (struct rev_cmdline_info * cmd_info ,
158+ static void determine_replay_mode (struct repository * repo ,
159+ struct rev_cmdline_info * cmd_info ,
156160 const char * onto_name ,
157161 char * * advance_name ,
158162 struct commit * * onto ,
159163 struct strset * * update_refs )
160164{
161165 struct ref_info rinfo ;
162166
163- get_ref_information (cmd_info , & rinfo );
167+ get_ref_information (repo , cmd_info , & rinfo );
164168 if (!rinfo .positive_refexprs )
165169 die (_ ("need some commits to replay" ));
166170
167171 die_for_incompatible_opt2 (!!onto_name , "--onto" ,
168172 !!* advance_name , "--advance" );
169173 if (onto_name ) {
170- * onto = peel_committish (onto_name );
174+ * onto = peel_committish (repo , onto_name );
171175 if (rinfo .positive_refexprs <
172176 strset_get_size (& rinfo .positive_refs ))
173177 die (_ ("all positive revisions given must be references" ));
174178 } else if (* advance_name ) {
175179 struct object_id oid ;
176180 char * fullname = NULL ;
177181
178- * onto = peel_committish (* advance_name );
179- if (repo_dwim_ref (the_repository , * advance_name , strlen (* advance_name ),
182+ * onto = peel_committish (repo , * advance_name );
183+ if (repo_dwim_ref (repo , * advance_name , strlen (* advance_name ),
180184 & oid , & fullname , 0 ) == 1 ) {
181185 free (* advance_name );
182186 * advance_name = fullname ;
@@ -245,7 +249,8 @@ static struct commit *mapped_commit(kh_oid_map_t *replayed_commits,
245249 return kh_value (replayed_commits , pos );
246250}
247251
248- static struct commit * pick_regular_commit (struct commit * pickme ,
252+ static struct commit * pick_regular_commit (struct repository * repo ,
253+ struct commit * pickme ,
249254 kh_oid_map_t * replayed_commits ,
250255 struct commit * onto ,
251256 struct merge_options * merge_opt ,
@@ -257,12 +262,12 @@ static struct commit *pick_regular_commit(struct commit *pickme,
257262 base = pickme -> parents -> item ;
258263 replayed_base = mapped_commit (replayed_commits , base , onto );
259264
260- result -> tree = repo_get_commit_tree (the_repository , replayed_base );
261- pickme_tree = repo_get_commit_tree (the_repository , pickme );
262- base_tree = repo_get_commit_tree (the_repository , base );
265+ result -> tree = repo_get_commit_tree (repo , replayed_base );
266+ pickme_tree = repo_get_commit_tree (repo , pickme );
267+ base_tree = repo_get_commit_tree (repo , base );
263268
264- merge_opt -> branch1 = short_commit_name (replayed_base );
265- merge_opt -> branch2 = short_commit_name (pickme );
269+ merge_opt -> branch1 = short_commit_name (repo , replayed_base );
270+ merge_opt -> branch2 = short_commit_name (repo , pickme );
266271 merge_opt -> ancestor = xstrfmt ("parent of %s" , merge_opt -> branch2 );
267272
268273 merge_incore_nonrecursive (merge_opt ,
@@ -275,13 +280,13 @@ static struct commit *pick_regular_commit(struct commit *pickme,
275280 merge_opt -> ancestor = NULL ;
276281 if (!result -> clean )
277282 return NULL ;
278- return create_commit (result -> tree , pickme , replayed_base );
283+ return create_commit (repo , result -> tree , pickme , replayed_base );
279284}
280285
281286int cmd_replay (int argc ,
282287 const char * * argv ,
283288 const char * prefix ,
284- struct repository * repo UNUSED )
289+ struct repository * repo )
285290{
286291 const char * advance_name_opt = NULL ;
287292 char * advance_name = NULL ;
@@ -329,7 +334,7 @@ int cmd_replay(int argc,
329334 "--advance" , "--contained" );
330335 advance_name = xstrdup_or_null (advance_name_opt );
331336
332- repo_init_revisions (the_repository , & revs , prefix );
337+ repo_init_revisions (repo , & revs , prefix );
333338
334339 /*
335340 * Set desired values for rev walking options here. If they
@@ -380,7 +385,7 @@ int cmd_replay(int argc,
380385 revs .simplify_history = 0 ;
381386 }
382387
383- determine_replay_mode (& revs .cmdline , onto_name , & advance_name ,
388+ determine_replay_mode (repo , & revs .cmdline , onto_name , & advance_name ,
384389 & onto , & update_refs );
385390
386391 if (!onto ) /* FIXME: Should handle replaying down to root commit */
@@ -391,7 +396,7 @@ int cmd_replay(int argc,
391396 goto cleanup ;
392397 }
393398
394- init_basic_merge_options (& merge_opt , the_repository );
399+ init_basic_merge_options (& merge_opt , repo );
395400 memset (& result , 0 , sizeof (result ));
396401 merge_opt .show_rename_progress = 0 ;
397402 last_commit = onto ;
@@ -406,8 +411,8 @@ int cmd_replay(int argc,
406411 if (commit -> parents -> next )
407412 die (_ ("replaying merge commits is not supported yet!" ));
408413
409- last_commit = pick_regular_commit (commit , replayed_commits , onto ,
410- & merge_opt , & result );
414+ last_commit = pick_regular_commit (repo , commit , replayed_commits ,
415+ onto , & merge_opt , & result );
411416 if (!last_commit )
412417 break ;
413418
0 commit comments