diff: convert diff_addremove to struct object_id
Convert diff_addremove to take a struct object_id. In addtion convert the function pointer type 'add_remove_fn_t' to also take a struct object_id. Signed-off-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									fcf2cfb54b
								
							
						
					
					
						commit
						c26022ea8f
					
				|  | @ -210,14 +210,14 @@ int run_diff_files(struct rev_info *revs, unsigned int option) | ||||||
| 					continue; | 					continue; | ||||||
| 				} | 				} | ||||||
| 				diff_addremove(&revs->diffopt, '-', ce->ce_mode, | 				diff_addremove(&revs->diffopt, '-', ce->ce_mode, | ||||||
| 					       ce->oid.hash, | 					       &ce->oid, | ||||||
| 					       !is_null_oid(&ce->oid), | 					       !is_null_oid(&ce->oid), | ||||||
| 					       ce->name, 0); | 					       ce->name, 0); | ||||||
| 				continue; | 				continue; | ||||||
| 			} else if (revs->diffopt.ita_invisible_in_index && | 			} else if (revs->diffopt.ita_invisible_in_index && | ||||||
| 				   ce_intent_to_add(ce)) { | 				   ce_intent_to_add(ce)) { | ||||||
| 				diff_addremove(&revs->diffopt, '+', ce->ce_mode, | 				diff_addremove(&revs->diffopt, '+', ce->ce_mode, | ||||||
| 					       EMPTY_BLOB_SHA1_BIN, 0, | 					       &empty_tree_oid, 0, | ||||||
| 					       ce->name, 0); | 					       ce->name, 0); | ||||||
| 				continue; | 				continue; | ||||||
| 			} | 			} | ||||||
|  | @ -260,7 +260,7 @@ static void diff_index_show_file(struct rev_info *revs, | ||||||
| 				 unsigned dirty_submodule) | 				 unsigned dirty_submodule) | ||||||
| { | { | ||||||
| 	diff_addremove(&revs->diffopt, prefix[0], mode, | 	diff_addremove(&revs->diffopt, prefix[0], mode, | ||||||
| 		       oid->hash, oid_valid, ce->name, dirty_submodule); | 		       oid, oid_valid, ce->name, dirty_submodule); | ||||||
| } | } | ||||||
|  |  | ||||||
| static int get_stat_data(const struct cache_entry *ce, | static int get_stat_data(const struct cache_entry *ce, | ||||||
|  |  | ||||||
							
								
								
									
										8
									
								
								diff.c
								
								
								
								
							
							
						
						
									
										8
									
								
								diff.c
								
								
								
								
							|  | @ -5081,8 +5081,8 @@ static int is_submodule_ignored(const char *path, struct diff_options *options) | ||||||
|  |  | ||||||
| void diff_addremove(struct diff_options *options, | void diff_addremove(struct diff_options *options, | ||||||
| 		    int addremove, unsigned mode, | 		    int addremove, unsigned mode, | ||||||
| 		    const unsigned char *sha1, | 		    const struct object_id *oid, | ||||||
| 		    int sha1_valid, | 		    int oid_valid, | ||||||
| 		    const char *concatpath, unsigned dirty_submodule) | 		    const char *concatpath, unsigned dirty_submodule) | ||||||
| { | { | ||||||
| 	struct diff_filespec *one, *two; | 	struct diff_filespec *one, *two; | ||||||
|  | @ -5114,9 +5114,9 @@ void diff_addremove(struct diff_options *options, | ||||||
| 	two = alloc_filespec(concatpath); | 	two = alloc_filespec(concatpath); | ||||||
|  |  | ||||||
| 	if (addremove != '+') | 	if (addremove != '+') | ||||||
| 		fill_filespec(one, sha1, sha1_valid, mode); | 		fill_filespec(one, oid->hash, oid_valid, mode); | ||||||
| 	if (addremove != '-') { | 	if (addremove != '-') { | ||||||
| 		fill_filespec(two, sha1, sha1_valid, mode); | 		fill_filespec(two, oid->hash, oid_valid, mode); | ||||||
| 		two->dirty_submodule = dirty_submodule; | 		two->dirty_submodule = dirty_submodule; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										8
									
								
								diff.h
								
								
								
								
							
							
						
						
									
										8
									
								
								diff.h
								
								
								
								
							|  | @ -31,8 +31,8 @@ typedef void (*change_fn_t)(struct diff_options *options, | ||||||
|  |  | ||||||
| typedef void (*add_remove_fn_t)(struct diff_options *options, | typedef void (*add_remove_fn_t)(struct diff_options *options, | ||||||
| 		    int addremove, unsigned mode, | 		    int addremove, unsigned mode, | ||||||
| 		    const unsigned char *sha1, | 		    const struct object_id *oid, | ||||||
| 		    int sha1_valid, | 		    int oid_valid, | ||||||
| 		    const char *fullpath, unsigned dirty_submodule); | 		    const char *fullpath, unsigned dirty_submodule); | ||||||
|  |  | ||||||
| typedef void (*diff_format_fn_t)(struct diff_queue_struct *q, | typedef void (*diff_format_fn_t)(struct diff_queue_struct *q, | ||||||
|  | @ -247,8 +247,8 @@ extern int diff_can_quit_early(struct diff_options *); | ||||||
| extern void diff_addremove(struct diff_options *, | extern void diff_addremove(struct diff_options *, | ||||||
| 			   int addremove, | 			   int addremove, | ||||||
| 			   unsigned mode, | 			   unsigned mode, | ||||||
| 			   const unsigned char *sha1, | 			   const struct object_id *oid, | ||||||
| 			   int sha1_valid, | 			   int oid_valid, | ||||||
| 			   const char *fullpath, unsigned dirty_submodule); | 			   const char *fullpath, unsigned dirty_submodule); | ||||||
|  |  | ||||||
| extern void diff_change(struct diff_options *, | extern void diff_change(struct diff_options *, | ||||||
|  |  | ||||||
|  | @ -401,8 +401,8 @@ static int tree_difference = REV_TREE_SAME; | ||||||
|  |  | ||||||
| static void file_add_remove(struct diff_options *options, | static void file_add_remove(struct diff_options *options, | ||||||
| 		    int addremove, unsigned mode, | 		    int addremove, unsigned mode, | ||||||
| 		    const unsigned char *sha1, | 		    const struct object_id *oid, | ||||||
| 		    int sha1_valid, | 		    int oid_valid, | ||||||
| 		    const char *fullpath, unsigned dirty_submodule) | 		    const char *fullpath, unsigned dirty_submodule) | ||||||
| { | { | ||||||
| 	int diff = addremove == '+' ? REV_TREE_NEW : REV_TREE_OLD; | 	int diff = addremove == '+' ? REV_TREE_NEW : REV_TREE_OLD; | ||||||
|  |  | ||||||
|  | @ -78,21 +78,21 @@ static int emit_diff_first_parent_only(struct diff_options *opt, struct combine_ | ||||||
| 			1, 1, p->path, 0, 0); | 			1, 1, p->path, 0, 0); | ||||||
| 	} | 	} | ||||||
| 	else { | 	else { | ||||||
| 		const unsigned char *sha1; | 		const struct object_id *oid; | ||||||
| 		unsigned int mode; | 		unsigned int mode; | ||||||
| 		int addremove; | 		int addremove; | ||||||
|  |  | ||||||
| 		if (p->mode) { | 		if (p->mode) { | ||||||
| 			addremove = '+'; | 			addremove = '+'; | ||||||
| 			sha1 = p->oid.hash; | 			oid = &p->oid; | ||||||
| 			mode = p->mode; | 			mode = p->mode; | ||||||
| 		} else { | 		} else { | ||||||
| 			addremove = '-'; | 			addremove = '-'; | ||||||
| 			sha1 = p0->oid.hash; | 			oid = &p0->oid; | ||||||
| 			mode = p0->mode; | 			mode = p0->mode; | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		opt->add_remove(opt, addremove, mode, sha1, 1, p->path, 0); | 		opt->add_remove(opt, addremove, mode, oid, 1, p->path, 0); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	return 0;	/* we are done with p */ | 	return 0;	/* we are done with p */ | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Brandon Williams
						Brandon Williams