From: Todd Zullinger Date: Wed, 23 May 2018 22:23:58 GMT Subject: Re: [PATCH 2/2] rev-parse: verify that commit looked up is not NULL Message-ID: <20180523222358.GW26695@zaya.teonanacatl.net> In-Reply-To: <20180523221901.GV26695@zaya.teonanacatl.net> I wrote: > Thanks. This fixes the segfault. While I was testing this, > I wondered if the following cases should differ: Nevermind me. Jeff beat me to a reply and included much more useful details about why this occurs and suggestions for fixing it. :) > # f*40 > $ ./git-rev-parse ffffffffffffffffffffffffffffffffffffffff^@ ; echo $? > 0 > > # f*39 > $ ./git-rev-parse fffffffffffffffffffffffffffffffffffffff^@ ; echo $? > fffffffffffffffffffffffffffffffffffffff^@ > fatal: ambiguous argument 'fffffffffffffffffffffffffffffffffffffff^@': unknown revision or path not in the working tree. > Use '--' to separate paths from revisions, like this: > 'git [...] -- [...]' > 128 > > Looking a little further, this is deeper than the rev-parse > handling. The difference in how these invalid refs are > handled appears in 'git show' as well. With 'git show' a > (different) fatal error is returned in both cases. > > # f*40 > $ git show ffffffffffffffffffffffffffffffffffffffff > fatal: bad object ffffffffffffffffffffffffffffffffffffffff > > # 39*f > $ git show fffffffffffffffffffffffffffffffffffffff > fatal: ambiguous argument 'fffffffffffffffffffffffffffffffffffffff': unknown revision or path not in the working tree. > Use '--' to separate paths from revisions, like this: > 'git [...] -- [...]' > > Should rev-parse return an error as well, rather than > silenty succeeding? -- Todd ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ How can I tell that the past isn't a fiction designed to account for the discrepancy between my immediate physical sensation and my state of mind? -- Douglas Adams