From 88d552055b8067cce5fedee9bce75d9329fe86b5b45c4653461e188877bbaaaa Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Mon, 10 Nov 2014 10:38:51 +0000 Subject: [PATCH 1/2] - reject-print-function-01-drop-useless-test.patch: Drop useless test in another_hunk(). - reject-print-function-02-handle-unified-format.patch: Preserve C function name in unified rejects (bnc#904519). OBS-URL: https://build.opensuse.org/package/show/devel:tools/patch?expand=0&rev=41 --- patch.changes | 8 ++ patch.spec | 4 + ...-print-function-01-drop-useless-test.patch | 22 +++++ ...nt-function-02-handle-unified-format.patch | 81 +++++++++++++++++++ 4 files changed, 115 insertions(+) create mode 100644 reject-print-function-01-drop-useless-test.patch create mode 100644 reject-print-function-02-handle-unified-format.patch diff --git a/patch.changes b/patch.changes index ae3f7b2..47d73fb 100644 --- a/patch.changes +++ b/patch.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Nov 10 11:37:03 CET 2014 - jdelvare@suse.de + +- reject-print-function-01-drop-useless-test.patch: Drop useless + test in another_hunk(). +- reject-print-function-02-handle-unified-format.patch: Preserve C + function name in unified rejects (bnc#904519). + ------------------------------------------------------------------- Tue May 20 07:44:03 UTC 2014 - schwab@suse.de diff --git a/patch.spec b/patch.spec index 708a91e..e3811ba 100644 --- a/patch.spec +++ b/patch.spec @@ -29,6 +29,8 @@ License: GPL-3.0+ Group: Productivity/Text/Utilities Source: http://ftp.gnu.org/gnu/patch/patch-%version.tar.bz2 Patch: error-report-crash.patch +Patch1: reject-print-function-01-drop-useless-test.patch +Patch2: reject-print-function-02-handle-unified-format.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -45,6 +47,8 @@ Authors: %prep %setup -q %patch -p1 +%patch1 -p1 +%patch2 -p1 %build export CFLAGS="$RPM_OPT_FLAGS -Wall -O2 -pipe" diff --git a/reject-print-function-01-drop-useless-test.patch b/reject-print-function-01-drop-useless-test.patch new file mode 100644 index 0000000..8869a54 --- /dev/null +++ b/reject-print-function-01-drop-useless-test.patch @@ -0,0 +1,22 @@ +From: Jean Delvare +Subject: Drop useless test in another_hunk() +Upstream: Submitted (2014-11-10) + +This test will always succeed so it is either broken or useless. The +equivalent code path for context patches doesn't have this test so I +suppose it's OK to just remove it. +--- + src/pch.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/pch.c ++++ b/src/pch.c +@@ -1651,7 +1651,7 @@ another_hunk (enum diff difftype, bool r + if (*s == ' ') s++; + if (*s++ != '@') + malformed (); +- if (*s++ == '@' && *s == ' ' && *s != '\0') ++ if (*s++ == '@' && *s == ' ') + { + p_c_function = s; + while (*s != '\n') diff --git a/reject-print-function-02-handle-unified-format.patch b/reject-print-function-02-handle-unified-format.patch new file mode 100644 index 0000000..2ab4a7d --- /dev/null +++ b/reject-print-function-02-handle-unified-format.patch @@ -0,0 +1,81 @@ +From: Jean Delvare +Subject: Preserve C function name in unified rejects +Upstream: Submitted (2014-11-10) +References: bnc#904519 + +We already support that in context rejects, just do the same for +unified rejects. +--- + src/patch.c | 3 ++- + tests/preserve-c-function-names | 16 ++++++++++++++++ + tests/reject-format | 4 ++-- + 3 files changed, 20 insertions(+), 3 deletions(-) + +--- a/src/patch.c ++++ b/src/patch.c +@@ -1237,6 +1237,7 @@ abort_hunk_unified (bool header, bool re + lin old = 1; + lin lastline = pch_ptrn_lines (); + lin new = lastline + 1; ++ char const *c_function = pch_c_function(); + + if (header) + { +@@ -1251,7 +1252,7 @@ abort_hunk_unified (bool header, bool re + print_unidiff_range (rejfp, pch_first () + out_offset, lastline); + fprintf (rejfp, " +"); + print_unidiff_range (rejfp, pch_newfirst () + out_offset, pch_repl_lines ()); +- fprintf (rejfp, " @@\n"); ++ fprintf (rejfp, " @@%s\n", c_function ? c_function : ""); + + while (pch_char (new) == '=' || pch_char (new) == '\n') + new++; +--- a/tests/preserve-c-function-names ++++ b/tests/preserve-c-function-names +@@ -34,6 +34,7 @@ EOF + preserve_trailing_blank= + + diff -p -c -L a -L b a b > ab.diff ++diff -p -u -L a -L b a b > ab-unified.diff + touch c + check 'patch c < ab.diff || cat c.rej' < Date: Mon, 10 Nov 2014 11:45:21 +0000 Subject: [PATCH 2/2] Update upstream status. OBS-URL: https://build.opensuse.org/package/show/devel:tools/patch?expand=0&rev=42 --- ...-print-function-01-drop-useless-test.patch | 2 +- ...nt-function-02-handle-unified-format.patch | 46 ++++--------------- 2 files changed, 9 insertions(+), 39 deletions(-) diff --git a/reject-print-function-01-drop-useless-test.patch b/reject-print-function-01-drop-useless-test.patch index 8869a54..4b87881 100644 --- a/reject-print-function-01-drop-useless-test.patch +++ b/reject-print-function-01-drop-useless-test.patch @@ -1,6 +1,6 @@ From: Jean Delvare Subject: Drop useless test in another_hunk() -Upstream: Submitted (2014-11-10) +Upstream: Committed (65193f1cc1bf38bdd63d1f3087b0d7e16ad3f082) This test will always succeed so it is either broken or useless. The equivalent code path for context patches doesn't have this test so I diff --git a/reject-print-function-02-handle-unified-format.patch b/reject-print-function-02-handle-unified-format.patch index 2ab4a7d..97a91f0 100644 --- a/reject-print-function-02-handle-unified-format.patch +++ b/reject-print-function-02-handle-unified-format.patch @@ -1,15 +1,14 @@ -From: Jean Delvare -Subject: Preserve C function name in unified rejects -Upstream: Submitted (2014-11-10) +From: Steven Rostedt +Subject: Preserve function names in reject files +Upstream: Committed (a2f4bfe0f3f54181a8f1077cde9ebef0b4f891c0) References: bnc#904519 -We already support that in context rejects, just do the same for -unified rejects. +* src/patch.c (main): Preserve function names in reject files. +* tests/reject-format: Update the test case. --- - src/patch.c | 3 ++- - tests/preserve-c-function-names | 16 ++++++++++++++++ - tests/reject-format | 4 ++-- - 3 files changed, 20 insertions(+), 3 deletions(-) + src/patch.c | 3 ++- + tests/reject-format | 4 ++-- + 2 files changed, 4 insertions(+), 3 deletions(-) --- a/src/patch.c +++ b/src/patch.c @@ -30,35 +29,6 @@ unified rejects. while (pch_char (new) == '=' || pch_char (new) == '\n') new++; ---- a/tests/preserve-c-function-names -+++ b/tests/preserve-c-function-names -@@ -34,6 +34,7 @@ EOF - preserve_trailing_blank= - - diff -p -c -L a -L b a b > ab.diff -+diff -p -u -L a -L b a b > ab-unified.diff - touch c - check 'patch c < ab.diff || cat c.rej' <