Re: Odd results writing a Git pre-receive hook to syntax check PHP files.
- From
- Chris Patti <cpatti@gmail.com>
- Date
- Sep 2, 2010, 14:34 UTC
- Message-ID
- <AANLkTiks+y8edtpkbu+t=22rct_KXv9aOHaG88-MWapK@mail.gmail.com>
- In-Reply-To
- <7vk4n68hpk.fsf@alter.siamese.dyndns.org>
On Tue, Aug 31, 2010 at 7:50 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 15 quoted lines
> Chris Patti <cpatti@gmail.com> writes:
>
>> function parseCommit($old_sha1,$new_sha1) {
>> # if this is the first commit on a new branch, $old_sha1 will
>> be a bunch of zeroes, and so
>> # git diff --raw will fail, since there's no old ref to
>> compare against. So, we parse the
>> # results of git diff-tree -root=$new_sha1 instead to get the
>> blob and filename we'll need.
>> if (detectNewBranch($old_sha1,$new_sha1)) {
>> $diffcmd="git diff-tree --root $new_sha1";
>
> This somehow feels wrong. If the tree of the new commit is flat without
> subdirectory, the above would do, but don't you need "diff-tree -r" here?
>I tested with subdirectories, and subdirs with subdirs, and no failures, worked perfectly. So, not sure what feels wrong to you, but for now, it works :) I will seek to better understand the internals I'm mucking with here so I can figure out why you see the current implementation as being suspect.
-Chris
-- Christopher Patti - Geek At Large | GTalk: cpatti@gmail.com | AIM: chrisfeohpatti | P: (260) 54PATTI "Technology challenges art, art inspires technology." - John Lasseter, Pixar