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