threads / patch / 35375

patchgit p4: Use git diff-tree instead of format-patch

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

## tl;dr

4 messages between Nov 21, 2013 and Nov 22, 2013. Diffs are folded; open one to read it.

replies: 3people: 3as markdown or json

Crestez Dan Leonard· Nov 21, 2013, 15:19 UTC · lore

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 <cdleonard@gmail.com>
---
  git-p4.py | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
Show changes to git-p4.py +1 −1
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 -"
Junio C Hamano· Nov 21, 2013, 19:47 UTC · re: Crestez Dan Leonard · lore

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

Crestez Dan Leonard <cdleonard@gmail.com> writes:
Show 22 quoted lines
> 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 <cdleonard@gmail.com>
> ---
>  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...

Pete Wyckoff· Nov 22, 2013, 23:12 UTC · re: Junio C Hamano · lore

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

gitster@pobox.com wrote on Thu, 21 Nov 2013 11:47 -0800:
Show 31 quoted lines
> Crestez Dan Leonard <cdleonard@gmail.com> 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 <cdleonard@gmail.com>
> > ---
> >  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 <pw@padd.com>
Thanks,
		-- Pete

← back to recent threads