Subject: Re: [PATCH] git p4: Use git diff-tree instead of format-patch

From: Pete Wyckoff <[email-masked]>
Date: Fri, 22 Nov 2013 18:12:45 -0500

[email-masked] wrote on Thu, 21 Nov 2013 11:47 -0800:
> Crestez Dan Leonard <[email-masked]> writes:
> 
> > The output of git format-patch can vary with user preferences. In
> > particular setting diff.noprefix will break the "git apply" that
> > is done as part of "git p4 submit".
> >
> > Signed-off-by: Crestez Dan Leonard <[email-masked]>
> > ---
> >  git-p4.py | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/git-p4.py b/git-p4.py
> > index 31e71ff..fe988ce 100755
> > --- a/git-p4.py
> > +++ b/git-p4.py
> > @@ -1308,7 +1308,7 @@ class P4Submit(Command, P4UserMap):
> >              else:
> >                  die("unknown modifier %s for %s" % (modifier, path))
> >  
> > -        diffcmd = "git format-patch -k --stdout \"%s^\"..\"%s\"" % (id, id)
> > +        diffcmd = "git diff-tree -p \"%s\"" % (id)
> >          patchcmd = diffcmd + " | git apply "
> >          tryPatchCmd = patchcmd + "--check -"
> >          applyPatchCmd = patchcmd + "--check --apply -"
> 
> I do not do p4 myself, but from a cursory reading it looks like the
> right thing to do.  Thanks.
> 
> The output of "git shortlog --no-merges --since=1.year git-p4.py"
> tells me that Pete should be the person much more familiar with the
> code than myself, so I'll Cc him just in case...

This looks great, and passes all my tests.

Acked-by: Pete Wyckoff <[email-masked]>

Thanks,

		-- Pete