tag: add repository argument to parse_tag_buffer
Add a repository argument to allow the callers of parse_tag_buffer to be more specific about which repository to act on. 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
							
								
									ce71efb713
								
							
						
					
					
						commit
						0e740fed5d
					
				|  | @ -405,7 +405,7 @@ static int check_one_mergetag(struct commit *commit, | |||
| 	tag = lookup_tag(the_repository, &tag_oid); | ||||
| 	if (!tag) | ||||
| 		return error(_("bad mergetag in commit '%s'"), ref); | ||||
| 	if (parse_tag_buffer(tag, extra->value, extra->len)) | ||||
| 	if (parse_tag_buffer(the_repository, tag, extra->value, extra->len)) | ||||
| 		return error(_("malformed mergetag in commit '%s'"), ref); | ||||
|  | ||||
| 	/* iterate over new parents */ | ||||
|  |  | |||
|  | @ -503,7 +503,7 @@ static int show_one_mergetag(struct commit *commit, | |||
| 		return -1; /* error message already given */ | ||||
|  | ||||
| 	strbuf_init(&verify_message, 256); | ||||
| 	if (parse_tag_buffer(tag, extra->value, extra->len)) | ||||
| 	if (parse_tag_buffer(the_repository, tag, extra->value, extra->len)) | ||||
| 		strbuf_addstr(&verify_message, "malformed mergetag\n"); | ||||
| 	else if (is_common_merge(commit) && | ||||
| 		 !oidcmp(&tag->tagged->oid, | ||||
|  |  | |||
							
								
								
									
										2
									
								
								object.c
								
								
								
								
							
							
						
						
									
										2
									
								
								object.c
								
								
								
								
							|  | @ -225,7 +225,7 @@ struct object *parse_object_buffer_the_repository(const struct object_id *oid, e | |||
| 	} else if (type == OBJ_TAG) { | ||||
| 		struct tag *tag = lookup_tag(the_repository, oid); | ||||
| 		if (tag) { | ||||
| 			if (parse_tag_buffer(tag, buffer, size)) | ||||
| 			if (parse_tag_buffer(the_repository, tag, buffer, size)) | ||||
| 			       return NULL; | ||||
| 			obj = &tag->object; | ||||
| 		} | ||||
|  |  | |||
|  | @ -1809,7 +1809,7 @@ static void check_tag(const void *buf, size_t size) | |||
| { | ||||
| 	struct tag t; | ||||
| 	memset(&t, 0, sizeof(t)); | ||||
| 	if (parse_tag_buffer(&t, buf, size)) | ||||
| 	if (parse_tag_buffer(the_repository, &t, buf, size)) | ||||
| 		die("corrupt tag"); | ||||
| } | ||||
|  | ||||
|  |  | |||
							
								
								
									
										4
									
								
								tag.c
								
								
								
								
							
							
						
						
									
										4
									
								
								tag.c
								
								
								
								
							|  | @ -126,7 +126,7 @@ void release_tag_memory(struct tag *t) | |||
| 	t->date = 0; | ||||
| } | ||||
|  | ||||
| int parse_tag_buffer(struct tag *item, const void *data, unsigned long size) | ||||
| int parse_tag_buffer_the_repository(struct tag *item, const void *data, unsigned long size) | ||||
| { | ||||
| 	struct object_id oid; | ||||
| 	char type[20]; | ||||
|  | @ -203,7 +203,7 @@ int parse_tag(struct tag *item) | |||
| 		return error("Object %s not a tag", | ||||
| 			     oid_to_hex(&item->object.oid)); | ||||
| 	} | ||||
| 	ret = parse_tag_buffer(item, data, size); | ||||
| 	ret = parse_tag_buffer(the_repository, item, data, size); | ||||
| 	free(data); | ||||
| 	return ret; | ||||
| } | ||||
|  |  | |||
							
								
								
									
										3
									
								
								tag.h
								
								
								
								
							
							
						
						
									
										3
									
								
								tag.h
								
								
								
								
							|  | @ -13,7 +13,8 @@ struct tag { | |||
| }; | ||||
| #define lookup_tag(r, o) lookup_tag_##r(o) | ||||
| extern struct tag *lookup_tag_the_repository(const struct object_id *oid); | ||||
| extern int parse_tag_buffer(struct tag *item, const void *data, unsigned long size); | ||||
| #define parse_tag_buffer(r, i, d, s) parse_tag_buffer_##r(i, d, s) | ||||
| extern int parse_tag_buffer_the_repository(struct tag *item, const void *data, unsigned long size); | ||||
| extern int parse_tag(struct tag *item); | ||||
| extern void release_tag_memory(struct tag *t); | ||||
| extern struct object *deref_tag(struct object *, const char *, int); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Stefan Beller
						Stefan Beller