From: Junio C Hamano <gitster@pobox.com>
To: Michael Haggerty <mhagger@alum.mit.edu>
Cc: shawn wilson <ag4ve.us@gmail.com>,
git@vger.kernel.org, Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [ANNOUNCE] Git v1.8.3-rc0
Date: Sun, 28 Apr 2013 14:12:39 -0700 [thread overview]
Message-ID: <7vvc76pdfc.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <517B62D8.5020006@alum.mit.edu> (Michael Haggerty's message of "Sat, 27 Apr 2013 07:32:08 +0200")
Michael Haggerty <mhagger@alum.mit.edu> writes:
> On 04/27/2013 04:24 AM, shawn wilson wrote:
>> On Fri, Apr 26, 2013 at 8:22 PM, Junio C Hamano <gitster@pobox.com> wrote:
>>
>>> * There was no good way to ask "I have a random string that came from
>>> outside world. I want to turn it into a 40-hex object name while
>>> making sure such an object exists". A new peeling suffix ^{object}
>>> can be used for that purpose, together with "rev-parse --verify".
>>>
>>
>> What does this mean / what is the reason behind this? I can only think
>> it might be useful in a test suite to make sure git isn't doing
>> anything stupid with hashes...?
>
> The topic is discussed here:
>
> http://git.661346.n2.nabble.com/Bug-in-quot-git-rev-parse-verify-quot-td7580929.html
>
> As discussed in the thread, when verifying that an argument names an
> existing object, it is usually also appropriate to verify that the named
> object is of a particular type (or can be converted to a particular
> type), which could already be done with syntax like
> "$userstring^{commit}". But if, for example, you want to avoid
> unwrapping tags but also want to verify that the named object really
> exists, "$userstring^{object}" now provides a way.
>
> And what do you have against test suites? :-)
And it is not about test in the first place. Git is designed to be
scriptable, and it is not unreasonable for a scripted Porcelain to
want to learn the full object name of the object that is referred to
by a string that it suspects may be an object name. Perhaps you are
feeding the entire git mailing list archive to a script that picks
up any object name in the messages and tallying the number of times
each object is mentioned. Then you would want to key the table that
counts the number of appearances for each object with the object
name, because different message may spell the name of the same
object differently, e.g. f9fc12cf3, v1.8.3-rc0, etc. With a helper
function "found_one_more_instance" that records the fact you saw
another mention of an object, such a program may do something like
this:
tokenize_git_mailing_list_message |
while read userstring
do
canonical=$(git rev-parse $userstring^{object}) &&
found_one_more_instance "$canonical"
done
next prev parent reply other threads:[~2013-04-28 21:12 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-27 0:22 [ANNOUNCE] Git v1.8.3-rc0 Junio C Hamano
2013-04-27 2:24 ` shawn wilson
2013-04-27 5:32 ` Michael Haggerty
2013-04-28 21:12 ` Junio C Hamano [this message]
2013-04-27 9:18 ` John Keeping
2013-04-29 3:31 ` Junio C Hamano
2013-04-29 19:15 ` [PATCH] Fix grammar in the 1.8.3 release notes Marc Branchaud
2013-04-29 21:15 ` Junio C Hamano
2013-04-29 21:16 ` Junio C Hamano
2013-04-30 14:28 ` Marc Branchaud
2013-05-01 8:24 ` Lukas Fleischer
2013-05-01 14:06 ` Marc Branchaud
2013-05-01 17:55 ` Junio C Hamano
2013-04-29 21:20 ` Junio C Hamano
2013-04-30 3:09 ` Eric Sunshine
2013-04-30 15:12 ` Phil Hord
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=7vvc76pdfc.fsf@alter.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=ag4ve.us@gmail.com \
--cc=git@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mhagger@alum.mit.edu \
/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).