Re: [PATCH 2/4] builtin/rev-parse: learn --null-oid

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Sep 18, 2020 at 2:34 PM brian m. carlson
<sandals@xxxxxxxxxxxxxxxxxxxx> wrote:
> So I definitely want to distinguish between the null (all-zeros) OID and
> the OID of an empty object, and I think using "null" and "empty" are
> fine.

(I like this myself)

> What I typically do when I write shell scripts, and which may obviate
> the need for this patch is turn this:
>
>   [ "$oid" = 0000000000000000000000000000000000000000 ]
>
> into this:
>
>   echo "$oid" | grep -qsE '^0+$'
>
> This is slightly less efficient, but it's also backwards compatible
> with older Git version assuming you have a POSIX grep.

Note that a lot of `grep`s do not have `-q` and/or `-s` so the
portable variant of this is `grep '^0+$' >/dev/null` (you only need
the `2>&1` part if you're concerned about bad input files or
an error on a pipe or something).

> I'm not sure we need an empty tree and empty blob object, because it's
> pretty easy to write these:
>
>   git hash-object -t tree /dev/null
>   git hash-object -t blob /dev/null
>
> That's what I've done in some of the transition code at least.

That's what's recommended in my 2012 stackoverflow Q&A, too.
The use of `/dev/null` directly here is perhaps unsatisfactory on
old Windows systems, though...?

Chris



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux