On Wed, Sep 26, 2018 at 06:39:56AM -0700, Taylor Blau wrote:
> > A perl tangent if you're interested:
> [...]
>
> To be clear, we ought to leave this function as:
>
> extract_haves () {
> depacketize | perl -lne '/^(\S+) \.have/ and print $1'
> }
Yes, I agree. You cannot do the "$@" there because it relies on
depacketize, which only handles stdin.
> Or are you suggesting that we change it to:
>
> extract_haves () {
> perl -lne '/^(\S+) \.have/ and print $1'
> }
No, sorry. I just used the ".have" snippet as filler text, but I see
that muddied my meaning considerably. This really was just a tangent for
the future. What you've written above is the best thing for this case.
> And call it as:
>
> printf "0000" | git receive-pack fork >actual &&
> depacketize <actual >actual.packets
> extract_haves <actual.packets >actual.haves &&
>
> Frankly, (and I think that this is what you're getting at in your reply
> above), I think that the former (e.g., calling 'depacketize()' in
> 'extract_haves()') is cleaner. This approach leaves us with "actual" and
> "actual.haves", and obviates the need for another intermediary,
> "actual.packets".
Yeah. I have no problem with the three-liner you wrote above, but I do
not see any particular reason for it.
-Peff