From: Michael Haggerty Date: Sat, 27 Apr 2013 05:32:08 GMT Subject: Re: [ANNOUNCE] Git v1.8.3-rc0 Message-ID: <517B62D8.5020006@alum.mit.edu> In-Reply-To: On 04/27/2013 04:24 AM, shawn wilson wrote: > On Fri, Apr 26, 2013 at 8:22 PM, Junio C Hamano 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? :-) Michael -- Michael Haggerty mhagger@alum.mit.edu http://softwareswirl.blogspot.com/