зеркало из https://github.com/microsoft/git.git
pack-objects: extend --local to mean ignore non-local loose objects too
With this patch, --local means pack only local objects that are not already packed. Additionally, this fixes t7700 testing whether loose objects in an alternate object database are repacked. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
0f4dc14ac4
Коммит
daae062595
|
@ -121,7 +121,7 @@ base-name::
|
|||
--local::
|
||||
This flag is similar to `--incremental`; instead of
|
||||
ignoring all packed objects, it only ignores objects
|
||||
that are packed and not in the local object store
|
||||
that are packed and/or not in the local object store
|
||||
(i.e. borrowed from an alternate).
|
||||
|
||||
--non-empty::
|
||||
|
|
|
@ -691,6 +691,9 @@ static int add_object_entry(const unsigned char *sha1, enum object_type type,
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (!exclude && local && has_loose_object_nonlocal(sha1))
|
||||
return 0;
|
||||
|
||||
for (p = packed_git; p; p = p->next) {
|
||||
off_t offset = find_pack_entry_one(sha1, p);
|
||||
if (offset) {
|
||||
|
|
|
@ -34,7 +34,7 @@ test_expect_success 'objects in packs marked .keep are not repacked' '
|
|||
test -z "$found_duplicate_object"
|
||||
'
|
||||
|
||||
test_expect_failure 'loose objects in alternate ODB are not repacked' '
|
||||
test_expect_success 'loose objects in alternate ODB are not repacked' '
|
||||
mkdir alt_objects &&
|
||||
echo `pwd`/alt_objects > .git/objects/info/alternates &&
|
||||
echo content3 > file3 &&
|
||||
|
|
Загрузка…
Ссылка в новой задаче