From: Junio C Hamano <gitster@pobox.com>
To: Will <william.duclot@gmail.com>
Cc: "Git List" <git@vger.kernel.org>
Subject: Re: Git pull confusing output
Date: Wed, 28 Nov 2018 15:31:38 +0900 [thread overview]
Message-ID: <xmqq36rlsofp.fsf@gitster-ct.c.googlers.com> (raw)
In-Reply-To: <758FA299-0842-4462-8CF6-D7210D26A6C7@gmail.com> (Will's message of "Tue, 27 Nov 2018 16:52:09 +0000")
Will <william.duclot@gmail.com> writes:
> I’m far from being a guru, but I consider myself a competent Git
> user. Yet, here’s my understanding of the output of one the most-used
> commands, `git push`:
>> Counting objects: 6, done.
> No idea what an “object” is. Apparently there’s 6 of them
> here. What does “counting” them means? Should I care?
You vaguely recall that the last time you pushed you saw ~400
objects counted there, so you get the feeling how active you were
since then.
It is up to you if you are interested in such a feel of the level of
activity. "git fetch" (hence "git pull") would also give you a
similar "feel", e.g. "the last fetch was ~1200 objects and today's
is mere ~200, so it seems it is a relatively slow day".
As to "what is an object?", there are plenty of Git tutorials and
books to learn the basics from. Again, it is up to you if you care.
>> Delta compression using up to 4 threads.
> No idea what is “delta compression”, I suppose something is being
> compressed. It’s using anything between 1 and 4 threads, which is not
> a very precise or useful information. Should I care?
Likewise.
>> Compressing objects: 100% (6/6), done.
> I still don’t know what objects are, but I appreciate having feedback
> on progress
Exactly.
>> Writing objects: 100% (6/6), 656 bytes | 656.00 KiB/s, done.
> Writing what, where? Should I care? Still good to have feedback
You are pushing the data in commits you wrote, modifications you
made to files, etc., to the other side, so that is what is written
to the other side. Is there any other thing you might suspect that
is written in this context, to make you think a clarification is
needed in the above message?
>> Total 6 (delta 4), reused 0 (delta 0)
> No idea what any of those numbers mean. Should I care?
It is up to you to get interested in these details and learn what
they mean. In this case, among these 6 objects transferred, Git
managed to find that 4 are similar to other objects the other side
already has or being sent by this push and can be transferred very
efficiently by sending only the difference, which is what "delta"
means.
>> remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
> I do know what’s a remote, but I don’t know what “resolving
> deltas” means. There’s local objects now? I don’t understand what
> happened to those local objects, are they the byproduct of the delta
> resolving or the input or something else? Should I care?
The "remote:" prefix is "the other side said the following". IOW,
you are seeing the message from the receiving end. As you sent 4
objects as mere "difference" (not the whole data needed to know
every byte of the file or directory), the receiving side needed to
find the object the "difference" was relative to, and reassemble
what you would have sent if there weren't delta compression. These
4 local objects were local from the point of view of the other side,
i.e. the repository that received your push.
The information density of this one is much lower than the previous
progress output lines. This one is primarily to give you the feeling
of relative speed (you've seen how fast the "writing" phase which is
constrained mostly by over-the-wire speed already, and now you are
observing how many more seconds are spent to post-process the data
sent over the wire) and avoiding to get you bored.
I think we have "--quiet" option for those who do not care.
next prev parent reply other threads:[~2018-11-28 6:31 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-27 16:52 Git pull confusing output Will
2018-11-27 19:24 ` Stefan Beller
2018-11-27 22:34 ` Will
2018-11-27 23:37 ` Ævar Arnfjörð Bjarmason
2018-11-28 6:31 ` Junio C Hamano [this message]
2018-11-28 20:27 ` Stefan Beller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqq36rlsofp.fsf@gitster-ct.c.googlers.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=william.duclot@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).