Chris Patti venit, vidit, dixit 30.08.2010 19:37: > On Mon, Aug 30, 2010 at 12:33 PM, Jonathan Nieder <jrnieder@xxxxxxxxx> 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. > > 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html