25 lines
		
	
	
		
			567 B
		
	
	
	
		
			C
		
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			567 B
		
	
	
	
		
			C
		
	
	
| /*
 | |
|  * Low level 3-way in-core file merge.
 | |
|  */
 | |
| 
 | |
| #ifndef LL_MERGE_H
 | |
| #define LL_MERGE_H
 | |
| 
 | |
| struct ll_merge_options {
 | |
| 	unsigned virtual_ancestor : 1;
 | |
| 	unsigned variant : 2;	/* favor ours, favor theirs, or union merge */
 | |
| 	unsigned renormalize : 1;
 | |
| 	long xdl_opts;
 | |
| };
 | |
| 
 | |
| int ll_merge(mmbuffer_t *result_buf,
 | |
| 	     const char *path,
 | |
| 	     mmfile_t *ancestor, const char *ancestor_label,
 | |
| 	     mmfile_t *ours, const char *our_label,
 | |
| 	     mmfile_t *theirs, const char *their_label,
 | |
| 	     const struct ll_merge_options *opts);
 | |
| 
 | |
| int ll_merge_marker_size(const char *path);
 | |
| 
 | |
| #endif
 |