 a8f6855f48
			
		
	
	a8f6855f48
	
	
	
		
			
			We weren't flushing the context each time we processed a hunk in the patch-id generation code in diff.c, but we were doing that when we generated "stable" patch-ids with the 'patch-id' tool. Let's port that similar logic over from patch-id.c into diff.c so we can get the same hash when we're generating patch-ids for 'format-patch --base=' types of command invocations. Cc: Xiaolong Ye <xiaolong.ye@intel.com> Signed-off-by: Stephen Boyd <sboyd@kernel.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			30 lines
		
	
	
		
			704 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			704 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef PATCH_IDS_H
 | |
| #define PATCH_IDS_H
 | |
| 
 | |
| #include "diff.h"
 | |
| #include "hashmap.h"
 | |
| 
 | |
| struct commit;
 | |
| struct object_id;
 | |
| struct repository;
 | |
| 
 | |
| struct patch_id {
 | |
| 	struct hashmap_entry ent;
 | |
| 	struct object_id patch_id;
 | |
| 	struct commit *commit;
 | |
| };
 | |
| 
 | |
| struct patch_ids {
 | |
| 	struct hashmap patches;
 | |
| 	struct diff_options diffopts;
 | |
| };
 | |
| 
 | |
| int commit_patch_id(struct commit *commit, struct diff_options *options,
 | |
| 		    struct object_id *oid, int, int);
 | |
| int init_patch_ids(struct repository *, struct patch_ids *);
 | |
| int free_patch_ids(struct patch_ids *);
 | |
| struct patch_id *add_commit_patch_id(struct commit *, struct patch_ids *);
 | |
| struct patch_id *has_commit_patch_id(struct commit *, struct patch_ids *);
 | |
| 
 | |
| #endif /* PATCH_IDS_H */
 |