refs: add repository argument to for_each_replace_ref
Add a repository argument to allow for_each_replace_ref callers to be more specific about which repository to handle. This is a small mechanical change; it doesn't change the implementation to handle repositories other than the_repository yet. As with the previous commits, use a macro to catch callers passing a repository other than the_repository at compile time. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									23a3f0cb16
								
							
						
					
					
						commit
						60ce76d358
					
				|  | @ -14,6 +14,8 @@ | |||
| #include "refs.h" | ||||
| #include "parse-options.h" | ||||
| #include "run-command.h" | ||||
| #include "object-store.h" | ||||
| #include "repository.h" | ||||
| #include "tag.h" | ||||
|  | ||||
| static const char * const git_replace_usage[] = { | ||||
|  | @ -83,7 +85,7 @@ static int list_replace_refs(const char *pattern, const char *format) | |||
| 		    "valid formats are 'short', 'medium' and 'long'\n", | ||||
| 		    format); | ||||
|  | ||||
| 	for_each_replace_ref(show_reference, (void *)&data); | ||||
| 	for_each_replace_ref(the_repository, show_reference, (void *)&data); | ||||
|  | ||||
| 	return 0; | ||||
| } | ||||
|  |  | |||
							
								
								
									
										2
									
								
								refs.c
								
								
								
								
							
							
						
						
									
										2
									
								
								refs.c
								
								
								
								
							|  | @ -1415,7 +1415,7 @@ int refs_for_each_fullref_in(struct ref_store *refs, const char *prefix, | |||
| 	return do_for_each_ref(refs, prefix, fn, 0, flag, cb_data); | ||||
| } | ||||
|  | ||||
| int for_each_replace_ref(each_ref_fn fn, void *cb_data) | ||||
| int for_each_replace_ref_the_repository(each_ref_fn fn, void *cb_data) | ||||
| { | ||||
| 	return do_for_each_ref(get_main_ref_store(the_repository), | ||||
| 			       git_replace_ref_base, fn, | ||||
|  |  | |||
							
								
								
									
										4
									
								
								refs.h
								
								
								
								
							
							
						
						
									
										4
									
								
								refs.h
								
								
								
								
							|  | @ -300,7 +300,9 @@ int for_each_fullref_in(const char *prefix, each_ref_fn fn, void *cb_data, | |||
| int for_each_tag_ref(each_ref_fn fn, void *cb_data); | ||||
| int for_each_branch_ref(each_ref_fn fn, void *cb_data); | ||||
| int for_each_remote_ref(each_ref_fn fn, void *cb_data); | ||||
| int for_each_replace_ref(each_ref_fn fn, void *cb_data); | ||||
| #define for_each_replace_ref(r, fn, cb) \ | ||||
| 	for_each_replace_ref_##r(fn, cb) | ||||
| int for_each_replace_ref_the_repository(each_ref_fn fn, void *cb_data); | ||||
| int for_each_glob_ref(each_ref_fn fn, const char *pattern, void *cb_data); | ||||
| int for_each_glob_ref_in(each_ref_fn fn, const char *pattern, | ||||
| 			 const char *prefix, void *cb_data); | ||||
|  |  | |||
|  | @ -40,7 +40,7 @@ static void prepare_replace_object(void) | |||
| 		xmalloc(sizeof(*the_repository->objects->replace_map)); | ||||
| 	oidmap_init(the_repository->objects->replace_map, 0); | ||||
|  | ||||
| 	for_each_replace_ref(register_replace_ref, NULL); | ||||
| 	for_each_replace_ref(the_repository, register_replace_ref, NULL); | ||||
| } | ||||
|  | ||||
| /* We allow "recursive" replacement. Only within reason, though */ | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Stefan Beller
						Stefan Beller