 f2db854d24
			
		
	
	f2db854d24
	
	
	
		
			
			Even though "git fetch" has full infrastructure to parse refspecs to be fetched and match them against the list of refs to come up with the final list of refs to be fetched, the list of refs that are requested to be fetched were internally converted to a plain list of strings at the transport layer and then passed to the underlying fetch-pack driver. Stop this conversion and instead pass around an array of refs. Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			36 lines
		
	
	
		
			734 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			734 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef FETCH_PACK_H
 | |
| #define FETCH_PACK_H
 | |
| 
 | |
| #include "string-list.h"
 | |
| 
 | |
| struct fetch_pack_args {
 | |
| 	const char *uploadpack;
 | |
| 	int unpacklimit;
 | |
| 	int depth;
 | |
| 	unsigned quiet:1,
 | |
| 		keep_pack:1,
 | |
| 		lock_pack:1,
 | |
| 		use_thin_pack:1,
 | |
| 		fetch_all:1,
 | |
| 		stdin_refs:1,
 | |
| 		verbose:1,
 | |
| 		no_progress:1,
 | |
| 		include_tag:1,
 | |
| 		stateless_rpc:1;
 | |
| };
 | |
| 
 | |
| /*
 | |
|  * sought represents remote references that should be updated from.
 | |
|  * On return, the names that were found on the remote will have been
 | |
|  * marked as such.
 | |
|  */
 | |
| struct ref *fetch_pack(struct fetch_pack_args *args,
 | |
| 		       int fd[], struct child_process *conn,
 | |
| 		       const struct ref *ref,
 | |
| 		       const char *dest,
 | |
| 		       struct ref **sought,
 | |
| 		       int nr_sought,
 | |
| 		       char **pack_lockfile);
 | |
| 
 | |
| #endif
 |