From: Jonathan Nieder <jrnieder@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Christian Couder <christian.couder@gmail.com>,
git@vger.kernel.org, Jeff King <peff@peff.net>,
Ben Peart <Ben.Peart@microsoft.com>,
Jonathan Tan <jonathantanmy@google.com>,
Nguyen Thai Ngoc Duy <pclouds@gmail.com>,
Mike Hommey <mh@glandium.org>,
Lars Schneider <larsxschneider@gmail.com>,
Eric Wong <e@80x24.org>,
Christian Couder <chriscool@tuxfamily.org>
Subject: Re: [PATCH 1/2] Git/Packet.pm: rename packet_required_key_val_read()
Date: Tue, 21 Nov 2017 23:07:08 -0800 [thread overview]
Message-ID: <20171122070708.GD7625@aiede.mtv.corp.google.com> (raw)
In-Reply-To: <xmqqfu96u8s4.fsf@gitster.mtv.corp.google.com>
Junio C Hamano wrote:
> Jonathan Nieder <jrnieder@gmail.com> writes:
>> Junio C Hamano wrote:
>>> Jonathan Nieder <jrnieder@gmail.com> writes:
>>>> This comment doesn't tell me how to use the function. How do I detect
>>>> whether it successfully read a line? What do the return values
>>>> represent? What happens if the line it read doesn't match the key?
>>>
>>> Would this work for both of you?
>>>
>>> # Read a text packet, expecting that it is in the form "key=value" for
>>> # the given $key. An EOF does not trigger any error and is reported
>>> # back to the caller (like packet_txt_read() does). Die if the "key"
>>> # part of "key=value" does not match the given $key, or the value part
>>> # is empty.
>>
>> Yes, thank you.
>
> Heh. I actually was expecting a different response: "that describes
> what the reader can easily read out of the implementation and is
> useless", though.
The main context that I'm missing and that this function comment
doesn't answer is what this function is for. When would I want to
read a line and exit if it doesn't match "key" but not exit if I hit
EOF? It seems very strange.
The function comment does successfully capture the strangeness,
though, and that already helps. When looking at the implementation, I
had a bit of a double-take and wondered what I was missing. This doc
comment says "you weren't missing anything --- that is actually the
contract that this function intends to fulfill".
Thanks,
Jonathan
next prev parent reply other threads:[~2017-11-22 7:07 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-21 16:09 [PATCH 1/2] Git/Packet.pm: rename packet_required_key_val_read() Christian Couder
2017-11-21 16:09 ` [PATCH 2/2] Git/Packet.pm: use 'if' instead of 'unless' Christian Couder
2017-11-21 19:24 ` Jonathan Nieder
2017-11-22 3:48 ` Junio C Hamano
2017-11-21 19:19 ` [PATCH 1/2] Git/Packet.pm: rename packet_required_key_val_read() Jonathan Nieder
2017-11-22 3:39 ` Junio C Hamano
2017-11-22 5:10 ` Jonathan Nieder
2017-11-22 6:28 ` Junio C Hamano
2017-11-22 7:07 ` Jonathan Nieder [this message]
2017-11-22 7:14 ` Christian Couder
2017-11-22 3:48 ` Junio C Hamano
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=20171122070708.GD7625@aiede.mtv.corp.google.com \
--to=jrnieder@gmail.com \
--cc=Ben.Peart@microsoft.com \
--cc=chriscool@tuxfamily.org \
--cc=christian.couder@gmail.com \
--cc=e@80x24.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jonathantanmy@google.com \
--cc=larsxschneider@gmail.com \
--cc=mh@glandium.org \
--cc=pclouds@gmail.com \
--cc=peff@peff.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.