From: Fede <fedux@lugmen.org.ar>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: [PATCH] Fix git-apply with -p greater than 1
Date: Fri, 22 Oct 2010 10:42:55 -0300 [thread overview]
Message-ID: <4CC194DF.9040803@lugmen.org.ar> (raw)
In-Reply-To: <20101022053140.GB786@burratino>
Jonathan Nieder wrote:
> Junio C Hamano wrote:
>> +test_expect_success 'apply (-p2) diff, mode change only' '
>> + cat >patch.chmod <<-\EOF &&
>> + diff --git a/sub/file1 b/sub/file1
>> + old mode 100644
>> + new mode 100755
>> + EOF
>> + chmod 644 file1 &&
>> + git apply -p2 patch.chmod &&
>> + test -x file1
> I had thought -p was only supposed to apply to traditional patches.
> Maybe a documentation update would avoid confusion?
>
> -p<n>
> Remove <n> leading slashes from traditional diff paths.
> The default is 1.
Currently, if the patch is mode-change only then the filename is taken
from the line "diff --git ...". There is a function git_header_name()
that extracts that name. This function could be a lot simpler and I'm
working on that, but meanwhile I'd like to provide a quick fix.
Right now, if at least one of the filenames is double quoted then -p
greater than 1 works correctly. The only failing case is when both names
are unquoted and my patch fixes that.
This work with -p2:
diff --git "a/sub/file1" b/sub/file1
old mode 100644
new mode 100755
diff --git a/sub/file1 "b/sub/file1"
old mode 100644
new mode 100755
diff --git "a/sub/file1" "b/sub/file1"
old mode 100644
new mode 100755
This one doesn't:
diff --git a/sub/file1 b/sub/file1
old mode 100644
new mode 100755
My patch fixes the later case.
There is a similar issue with renames and I'm working on that.
Meanwhile, I'd like to know what do you think of that.
PS: Hamano's test 'apply (-p2) diff, mode change only' fails without my
patch and passes with it. I'll provide a new patch including the test.
next prev parent reply other threads:[~2010-10-22 13:43 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-21 22:12 [PATCH] Fix git-apply with -p greater than 1 Federico Cuello
2010-10-22 5:01 ` Junio C Hamano
2010-10-22 5:31 ` Jonathan Nieder
2010-10-22 13:42 ` Fede [this message]
2010-10-22 15:38 ` Jonathan Nieder
2010-10-22 18:41 ` Junio C Hamano
2010-10-22 18:51 ` Federico Cuello
2010-10-25 14:11 ` Federico Cuello
2010-10-22 18:40 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4CC194DF.9040803@lugmen.org.ar \
--to=fedux@lugmen.org.ar \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).