Merge branch 'maint-1.7.7' into maint
* maint-1.7.7: Update draft release notes to 1.7.7.6 Update draft release notes to 1.7.6.6 thin-pack: try harder to use preferred base objects as basemaint
						commit
						5a6a939481
					
				|  | @ -8,4 +8,9 @@ Fixes since v1.7.6.5 | ||||||
|    directory when two paths in question are in adjacent directories and |    directory when two paths in question are in adjacent directories and | ||||||
|    the name of the one directory is a prefix of the other. |    the name of the one directory is a prefix of the other. | ||||||
|  |  | ||||||
|  |  * When producing a "thin pack" (primarily used in bundles and smart | ||||||
|  |    HTTP transfers) out of a fully packed repository, we unnecessarily | ||||||
|  |    avoided sending recent objects as a delta against objects we know | ||||||
|  |    the other side has. | ||||||
|  |  | ||||||
| Also contains minor fixes and documentation updates. | Also contains minor fixes and documentation updates. | ||||||
|  |  | ||||||
|  | @ -8,4 +8,9 @@ Fixes since v1.7.7.5 | ||||||
|    directory when two paths in question are in adjacent directories and |    directory when two paths in question are in adjacent directories and | ||||||
|    the name of the one directory is a prefix of the other. |    the name of the one directory is a prefix of the other. | ||||||
|  |  | ||||||
|  |  * When producing a "thin pack" (primarily used in bundles and smart | ||||||
|  |    HTTP transfers) out of a fully packed repository, we unnecessarily | ||||||
|  |    avoided sending recent objects as a delta against objects we know | ||||||
|  |    the other side has. | ||||||
|  |  | ||||||
| Also contains minor fixes and documentation updates. | Also contains minor fixes and documentation updates. | ||||||
|  |  | ||||||
|  | @ -1456,11 +1456,16 @@ static int try_delta(struct unpacked *trg, struct unpacked *src, | ||||||
| 		return -1; | 		return -1; | ||||||
|  |  | ||||||
| 	/* | 	/* | ||||||
| 	 * We do not bother to try a delta that we discarded | 	 * We do not bother to try a delta that we discarded on an | ||||||
| 	 * on an earlier try, but only when reusing delta data. | 	 * earlier try, but only when reusing delta data.  Note that | ||||||
|  | 	 * src_entry that is marked as the preferred_base should always | ||||||
|  | 	 * be considered, as even if we produce a suboptimal delta against | ||||||
|  | 	 * it, we will still save the transfer cost, as we already know | ||||||
|  | 	 * the other side has it and we won't send src_entry at all. | ||||||
| 	 */ | 	 */ | ||||||
| 	if (reuse_delta && trg_entry->in_pack && | 	if (reuse_delta && trg_entry->in_pack && | ||||||
| 	    trg_entry->in_pack == src_entry->in_pack && | 	    trg_entry->in_pack == src_entry->in_pack && | ||||||
|  | 	    !src_entry->preferred_base && | ||||||
| 	    trg_entry->in_pack_type != OBJ_REF_DELTA && | 	    trg_entry->in_pack_type != OBJ_REF_DELTA && | ||||||
| 	    trg_entry->in_pack_type != OBJ_OFS_DELTA) | 	    trg_entry->in_pack_type != OBJ_OFS_DELTA) | ||||||
| 		return 0; | 		return 0; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Junio C Hamano
						Junio C Hamano