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. > 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. Thanks, -Chris -- Christopher Patti - Geek At Large | GTalk: cpatti@xxxxxxxxx | AIM: chrisfeohpatti | P: (260) 54PATTI "Technology challenges art, art inspires technology." - John Lasseter, Pixar -- 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