pack-objects: validation and documentation about unreachable options
These options are added in [1] [2] [3]. All these depend on running rev-list internally which is normally true since they are always used with "--all --objects" which implies --revs. But let's keep this dependency explicit. While at there, add documentation for them. These are mostly used internally by git-repack. But it's still good to not chase down the right commit message to know how they work. [1]maintca11b212eb(let pack-objects do the writing of unreachable objects as loose objects - 2008-05-14) [2]08cdfb1337(pack-objects --keep-unreachable - 2007-09-16) [3]e26a8c4721(repack: extend --keep-unreachable to loose objects - 2016-06-13) Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
							parent
							
								
									468165c1d8
								
							
						
					
					
						commit
						58bd77b66a
					
				| 
						 | 
					@ -267,6 +267,19 @@ Unexpected missing object will raise an error.
 | 
				
			||||||
	locally created objects [without .promisor] and objects from the
 | 
						locally created objects [without .promisor] and objects from the
 | 
				
			||||||
	promisor remote [with .promisor].)  This is used with partial clone.
 | 
						promisor remote [with .promisor].)  This is used with partial clone.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--keep-unreachable::
 | 
				
			||||||
 | 
						Objects unreachable from the refs in packs named with
 | 
				
			||||||
 | 
						--unpacked= option are added to the resulting pack, in
 | 
				
			||||||
 | 
						addition to the reachable objects that are not in packs marked
 | 
				
			||||||
 | 
						with *.keep files. This implies `--revs`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--pack-loose-unreachable::
 | 
				
			||||||
 | 
						Pack unreachable loose objects (and their loose counterparts
 | 
				
			||||||
 | 
						removed). This implies `--revs`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--unpack-unreachable::
 | 
				
			||||||
 | 
						Keep unreachable objects in loose form. This implies `--revs`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SEE ALSO
 | 
					SEE ALSO
 | 
				
			||||||
--------
 | 
					--------
 | 
				
			||||||
linkgit:git-rev-list[1]
 | 
					linkgit:git-rev-list[1]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3087,6 +3087,8 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
 | 
				
			||||||
		fetch_if_missing = 0;
 | 
							fetch_if_missing = 0;
 | 
				
			||||||
		argv_array_push(&rp, "--exclude-promisor-objects");
 | 
							argv_array_push(&rp, "--exclude-promisor-objects");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						if (unpack_unreachable || keep_unreachable || pack_loose_unreachable)
 | 
				
			||||||
 | 
							use_internal_rev_list = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!reuse_object)
 | 
						if (!reuse_object)
 | 
				
			||||||
		reuse_delta = 0;
 | 
							reuse_delta = 0;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue