Martin Fick [off-list ref] writes:
quoted
objects from the object database. In addition, it
prunes the unpacked objects that are also found in packs
by running git prune-packed.
The last sentence seems like it should maybe have the
following fix:
s/it prunes the unpacked/it prunes the unreferenced/
Ack, I meant:
s/it prunes the unpacked/it prunes the unreachable/
"In addition" part is about objects that exist in loose format that are
also found in packs and has nothing to do with reachability.
Running "git pack-objects" to collect loose objects into a new pack will
not remove these loose objects that are copied into that new pack. Because
we try to access objects from an already open packfile before trying a
loose object file, removing these now-redundant loose ones after they are
packed makes sense. And that is what "git prune-packed" does.
On Thursday, December 15, 2011 03:18:19 pm Junio C Hamano
wrote:
Martin Fick [off-list ref] writes:
quoted
quoted
objects from the object database. In addition, it
prunes the unpacked objects that are also found in
packs by running git prune-packed.
The last sentence seems like it should maybe have the
following fix:
s/it prunes the unpacked/it prunes the unreferenced/
Ack, I meant:
s/it prunes the unpacked/it prunes the unreachable/
"In addition" part is about objects that exist in loose
format that are also found in packs and has nothing to
do with reachability.
Running "git pack-objects" to collect loose objects into
a new pack will not remove these loose objects that are
copied into that new pack. Because we try to access
objects from an already open packfile before trying a
loose object file, removing these now-redundant loose
ones after they are packed makes sense. And that is what
"git prune-packed" does.
Thanks Junio, that makes a lot of sense. I don't know why I
was not getting that from the description even though that
was exactly what I was looking for. Maybe it was because of
the intro/summary line? Now that I think I understand what
it is doing, it seems like this command is more about
"pruning loose objects" (whether unreachable or already
packed) than it is about "pruning unreachable objects"
(which could be loose or packed)? The summary line reads:
git-prune - Prune all unreachable objects from the object
database
Maybe I am not familiar enough with git terminology, but
does "object database" imply loose objects only? Because
the word "all" in that summary makes it sound like it will
prune all unreachable objects (loose and packed).
I don't quite have an alternative suggestion for a better
summary, the best I could do (but don't like) is:
git-prune - Prune loose objects (unreachable or packed)
-Martin
--
Employee of Qualcomm Innovation Center, Inc. which is a
member of Code Aurora Forum