Thread (2 messages) 2 messages, 2 authors, 2016-06-15

Re: [ANNOUNCE] Git 1.7.4.3

From: Arnaud Lacombe <hidden>
Date: 2016-06-15 22:50:59
Subsystem: the rest · Maintainer: Linus Torvalds

Hi Julio,,

On Sun, Apr 3, 2011 at 4:36 AM, Junio C Hamano [off-list ref] wrote:
Junio C Hamano (9):
     apply: do not patch lines that were already patched
This commit introduces a regression when editing splithunks using "git
add -p". Reverting the patch fix the regression.

Considering the following checked-in code:

int
main(int argc, char **argv)
{
        int a;

        return 0;
}

modified the following way:

int
main(int argc, char **argv)
{
        int c;
        int a;
        int d;
        int e;
        int f;

        return 0;
}

if you 'git add -p' on the file, you'll get:
diff --git a/main.c b/main.c
index f9f4197..7fb483f 100644
--- a/main.c
+++ b/main.c
@@ -9,7 +9,11 @@
 int
 main(int argc, char **argv)
 {
+       int c;
        int a;
+       int d;
+       int e;
+       int f;

        return 0;
 }
Now, I only want the first part, so I reduce the context by typing
's', which lead to:

Split into 2 hunks.
@@ -9,4 +9,5 @@
 int
 main(int argc, char **argv)
 {
+       int c;
        int a;
If I edit this hunk and make _no_modification_, "git apply" fails with:

error: patch failed: main.c:12
error: main.c: patch does not apply
Your edited hunk does not apply. Edit again (saying "no" discards!) [y/n]?

This hunk does _apply_, as it could be staged and committed as-is if I
did not edit it.

This was just a way to reproduce the regression. If you change the
code in a way that would still apply, git-apply would still fails to
apply the hunk. Editing the whole original hunk (ie. not split) works
fine.

 - Arnaud
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help