git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Odd results writing a Git pre-receive hook to syntax check PHP files.

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Aug 30, 2010, 19:10 UTC
Message-ID
<4C7C020C.6090907@drmicha.warpmail.net>
In-Reply-To
<AANLkTi=VPf9CWNJcce6d20HQChi0mHgTG1F=jakzNT-O@mail.gmail.com>
Chris Patti venit, vidit, dixit 30.08.2010 19:37:
Show 16 quoted lines
> On Mon, Aug 30, 2010 at 12:33 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
>> Chris Patti wrote:
>>
>>> What if this is the
>>> first time a new ref is being pushed?  Then, old-ref is 000000 and git
>>> diff --raw throws up a hairball :)
>>
>> Can't you check for 0{40} and use $(git hash-object -t tree </dev/null)
>> in its place?
>>
>> In general, the "LOW-LEVEL COMMANDS (PLUMBING)" listed on the git man
>> page are meant to be useful for scripts.  They have simple input and
>> output formats, they don't try to introduce weird exceptions for user
>> convenience, the git developers are more conservative about changing
>> them, and so on.
>>
git diff-tree --root $newrev
will take care of this.
Show 8 quoted lines
> 
> Maybe I'm not understanding your intent here, but, this is a
> pre-receive hook, where you get handed two refs, the old (pre-push)
> ref, and the new (after push) ref.
> 
> git hash-object computes a hash from the file's contents.  That's my
> whole point, I don't *have* the file to compute! All I have is those
> two refs.

You do have the files, otherwise you couldn't check them. They're in your git file system ;)

Michael
Previous: Chris PattiNext: Chris Patti
Message 16 of 20 in “Odd results writing a Git pre-receive hook to syntax check PHP files.”
  1. Chris PattiAug 27, 2010
  2. Michael J GruberAug 30, 2010
  3. Chris PattiAug 30, 2010
  4. Jonathan NiederAug 30, 2010
  5. Chris PattiAug 30, 2010
  6. Example git hooks (Re: Odd results writing a Git pre-receive hook to syntax check PHP files.)Jonathan Nieder, Aug 30, 2010
  7. Todd ZullingerAug 31, 2010
  8. Chris PattiAug 31, 2010
  9. Chris PattiAug 31, 2010
  10. Michael J GruberAug 30, 2010
  11. Chris PattiAug 30, 2010
  12. Chris PattiAug 30, 2010
  13. Sverre RabbelierAug 30, 2010
  14. Jonathan NiederAug 30, 2010
  15. Chris PattiAug 30, 2010
  16. Michael J GruberAug 30, 2010
  17. Chris PattiAug 31, 2010
  18. Junio C HamanoAug 31, 2010
  19. Chris PattiSep 1, 2010
  20. Chris PattiSep 2, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.