From: Thomas Gummerer <t.gummerer@gmail.com>
To: git@vger.kernel.org
Cc: Duy Nguyen <pclouds@gmail.com>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Junio C Hamano <gitster@pobox.com>,
Eric Sunshine <sunshine@sunshineco.com>,
Johannes Sixt <j6t@kdbg.org>,
Thomas Gummerer <t.gummerer@gmail.com>
Subject: [PATCH v4 00/14] output improvements for git range-diff
Date: Thu, 11 Jul 2019 17:08:37 +0100 [thread overview]
Message-ID: <20190711160851.14380-1-t.gummerer@gmail.com> (raw)
In-Reply-To: <20190708163315.29912-1-t.gummerer@gmail.com>
Thanks Junio for the comment on the previous round [1]. This round
reanmes the struct we're using in apply.c to 'struct gitdiff_data',
and updates the commit message of 7/14 to reflect the new name of the
renamed function.
[1]: https://public-inbox.org/git/20190708163315.29912-1-t.gummerer@gmail.com/
Thomas Gummerer (14):
apply: replace marc.info link with public-inbox
apply: only pass required data to skip_tree_prefix
apply: only pass required data to git_header_name
apply: only pass required data to check_header_line
apply: only pass required data to find_name_*
apply: only pass required data to gitdiff_* functions
apply: make parse_git_diff_header public
range-diff: fix function parameter indentation
range-diff: split lines manually
range-diff: don't remove funcname from inner diff
range-diff: suppress line count in outer diff
range-diff: add section header instead of diff header
range-diff: add filename to inner diff
range-diff: add headers to the outer hunk header
apply.c | 186 ++++++++++++++++++-----------------------
apply.h | 48 +++++++++++
diff.c | 5 +-
diff.h | 1 +
range-diff.c | 124 +++++++++++++++++++--------
t/t3206-range-diff.sh | 124 ++++++++++++++++++++++-----
t/t3206/history.export | 84 ++++++++++++++++++-
7 files changed, 409 insertions(+), 163 deletions(-)
Range-diff against v3:
1: ef2245edda = 1: ef2245edda apply: replace marc.info link with public-inbox
2: 94578fa45c = 2: 94578fa45c apply: only pass required data to skip_tree_prefix
3: 988269a68e = 3: 988269a68e apply: only pass required data to git_header_name
4: a2c1ef3f5f = 4: a2c1ef3f5f apply: only pass required data to check_header_line
5: 0f4cfe21cb = 5: 0f4cfe21cb apply: only pass required data to find_name_*
6: 07a271518d ! 6: 42665e5295 apply: only pass required data to gitdiff_* functions
@@ -28,7 +28,7 @@
#include "rerere.h"
#include "apply.h"
-+struct parse_git_header_state {
++struct gitdiff_data {
+ struct strbuf *root;
+ int linenr;
+ int p_value;
@@ -42,7 +42,7 @@
}
-static int gitdiff_hdrend(struct apply_state *state,
-+static int gitdiff_hdrend(struct parse_git_header_state *state,
++static int gitdiff_hdrend(struct gitdiff_data *state,
const char *line,
struct patch *patch)
{
@@ -51,7 +51,7 @@
#define DIFF_NEW_NAME 1
-static int gitdiff_verify_name(struct apply_state *state,
-+static int gitdiff_verify_name(struct parse_git_header_state *state,
++static int gitdiff_verify_name(struct gitdiff_data *state,
const char *line,
int isnull,
char **name,
@@ -77,7 +77,7 @@
}
-static int gitdiff_oldname(struct apply_state *state,
-+static int gitdiff_oldname(struct parse_git_header_state *state,
++static int gitdiff_oldname(struct gitdiff_data *state,
const char *line,
struct patch *patch)
{
@@ -86,7 +86,7 @@
}
-static int gitdiff_newname(struct apply_state *state,
-+static int gitdiff_newname(struct parse_git_header_state *state,
++static int gitdiff_newname(struct gitdiff_data *state,
const char *line,
struct patch *patch)
{
@@ -95,7 +95,7 @@
}
-static int gitdiff_oldmode(struct apply_state *state,
-+static int gitdiff_oldmode(struct parse_git_header_state *state,
++static int gitdiff_oldmode(struct gitdiff_data *state,
const char *line,
struct patch *patch)
{
@@ -103,7 +103,7 @@
}
-static int gitdiff_newmode(struct apply_state *state,
-+static int gitdiff_newmode(struct parse_git_header_state *state,
++static int gitdiff_newmode(struct gitdiff_data *state,
const char *line,
struct patch *patch)
{
@@ -111,7 +111,7 @@
}
-static int gitdiff_delete(struct apply_state *state,
-+static int gitdiff_delete(struct parse_git_header_state *state,
++static int gitdiff_delete(struct gitdiff_data *state,
const char *line,
struct patch *patch)
{
@@ -120,7 +120,7 @@
}
-static int gitdiff_newfile(struct apply_state *state,
-+static int gitdiff_newfile(struct parse_git_header_state *state,
++static int gitdiff_newfile(struct gitdiff_data *state,
const char *line,
struct patch *patch)
{
@@ -129,7 +129,7 @@
}
-static int gitdiff_copysrc(struct apply_state *state,
-+static int gitdiff_copysrc(struct parse_git_header_state *state,
++static int gitdiff_copysrc(struct gitdiff_data *state,
const char *line,
struct patch *patch)
{
@@ -141,7 +141,7 @@
}
-static int gitdiff_copydst(struct apply_state *state,
-+static int gitdiff_copydst(struct parse_git_header_state *state,
++static int gitdiff_copydst(struct gitdiff_data *state,
const char *line,
struct patch *patch)
{
@@ -153,7 +153,7 @@
}
-static int gitdiff_renamesrc(struct apply_state *state,
-+static int gitdiff_renamesrc(struct parse_git_header_state *state,
++static int gitdiff_renamesrc(struct gitdiff_data *state,
const char *line,
struct patch *patch)
{
@@ -165,7 +165,7 @@
}
-static int gitdiff_renamedst(struct apply_state *state,
-+static int gitdiff_renamedst(struct parse_git_header_state *state,
++static int gitdiff_renamedst(struct gitdiff_data *state,
const char *line,
struct patch *patch)
{
@@ -177,7 +177,7 @@
}
-static int gitdiff_similarity(struct apply_state *state,
-+static int gitdiff_similarity(struct parse_git_header_state *state,
++static int gitdiff_similarity(struct gitdiff_data *state,
const char *line,
struct patch *patch)
{
@@ -186,7 +186,7 @@
}
-static int gitdiff_dissimilarity(struct apply_state *state,
-+static int gitdiff_dissimilarity(struct parse_git_header_state *state,
++static int gitdiff_dissimilarity(struct gitdiff_data *state,
const char *line,
struct patch *patch)
{
@@ -195,7 +195,7 @@
}
-static int gitdiff_index(struct apply_state *state,
-+static int gitdiff_index(struct parse_git_header_state *state,
++static int gitdiff_index(struct gitdiff_data *state,
const char *line,
struct patch *patch)
{
@@ -204,7 +204,7 @@
* into the next diff. Tell the parser to break out.
*/
-static int gitdiff_unrecognized(struct apply_state *state,
-+static int gitdiff_unrecognized(struct parse_git_header_state *state,
++static int gitdiff_unrecognized(struct gitdiff_data *state,
const char *line,
struct patch *patch)
{
@@ -212,7 +212,7 @@
struct patch *patch)
{
unsigned long offset;
-+ struct parse_git_header_state parse_hdr_state;
++ struct gitdiff_data parse_hdr_state;
/* A git diff has explicit new/delete information, so we don't guess */
patch->is_new = 0;
@@ -228,7 +228,7 @@
static const struct opentry {
const char *str;
- int (*fn)(struct apply_state *, const char *, struct patch *);
-+ int (*fn)(struct parse_git_header_state *, const char *, struct patch *);
++ int (*fn)(struct gitdiff_data *, const char *, struct patch *);
} optable[] = {
{ "@@ -", gitdiff_hdrend },
{ "--- ", gitdiff_oldname },
7: 9cb6732a5f ! 7: 3068fda8a9 apply: make parse_git_header public
@@ -1,9 +1,12 @@
Author: Thomas Gummerer <t.gummerer@gmail.com>
- apply: make parse_git_header public
+ apply: make parse_git_diff_header public
- Make parse_git_header a "public" function in apply.h, so we can re-use
- it in range-diff in a subsequent commit.
+ Make 'parse_git_header()' (renamed to 'parse_git_diff_header()') a
+ "public" function in apply.h, so we can re-use it in range-diff in a
+ subsequent commit. We're renaming the function to make it clearer in
+ other parts of the codebase that we're talking about a diff header and
+ not just any header.
Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
@@ -70,7 +73,7 @@
+ struct patch *patch)
{
unsigned long offset;
- struct parse_git_header_state parse_hdr_state;
+ struct gitdiff_data parse_hdr_state;
@@
* or removing or adding empty files), so we get
* the default name from the header.
@@ -100,7 +103,7 @@
+ for (offset = len ; size > 0 ; offset += len, size -= len, line += len, (*linenr)++) {
static const struct opentry {
const char *str;
- int (*fn)(struct parse_git_header_state *, const char *, struct patch *);
+ int (*fn)(struct gitdiff_data *, const char *, struct patch *);
@@
res = p->fn(&parse_hdr_state, line + oplen, patch);
if (res < 0)
8: 76a11ce995 = 8: 781d054cab range-diff: fix function parameter indentation
9: 6f70e7faa6 = 9: 68a2953310 range-diff: split lines manually
10: 6618cdff2c = 10: 8ae95d053b range-diff: don't remove funcname from inner diff
11: 2667df4fa5 = 11: e572510c52 range-diff: suppress line count in outer diff
12: 47cd8c6733 = 12: 45605db760 range-diff: add section header instead of diff header
13: f67fd5dd9a = 13: 89a27fbeaa range-diff: add filename to inner diff
14: 812893a5dc = 14: 8bee2c525f range-diff: add headers to the outer hunk header
--
2.22.0.510.g264f2c817a
next prev parent reply other threads:[~2019-07-11 16:09 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20190414210933.20875-1-t.gummerer@gmail.com/>
2019-07-05 17:06 ` [PATCH v2 00/14] output improvements for git range-diff Thomas Gummerer
2019-07-05 17:06 ` [PATCH v2 01/14] apply: replace marc.info link with public-inbox Thomas Gummerer
2019-07-05 17:06 ` [PATCH v2 02/14] apply: only pass required data to skip_tree_prefix Thomas Gummerer
2019-07-05 17:06 ` [PATCH v2 03/14] apply: only pass required data to git_header_name Thomas Gummerer
2019-07-05 17:06 ` [PATCH v2 04/14] apply: only pass required data to check_header_line Thomas Gummerer
2019-07-05 17:06 ` [PATCH v2 05/14] apply: only pass required data to find_name_* Thomas Gummerer
2019-07-05 17:06 ` [PATCH v2 06/14] apply: only pass required data to gitdiff_* functions Thomas Gummerer
2019-07-05 18:51 ` Johannes Schindelin
2019-07-05 17:06 ` [PATCH v2 07/14] apply: make parse_git_header public Thomas Gummerer
2019-07-05 18:48 ` Johannes Schindelin
2019-07-05 17:06 ` [PATCH v2 08/14] range-diff: fix function parameter indentation Thomas Gummerer
2019-07-05 17:06 ` [PATCH v2 09/14] range-diff: split lines manually Thomas Gummerer
2019-07-05 19:05 ` Johannes Schindelin
2019-07-08 11:24 ` Thomas Gummerer
2019-07-05 17:06 ` [PATCH v2 10/14] range-diff: don't remove funcname from inner diff Thomas Gummerer
2019-07-05 19:09 ` Johannes Schindelin
2019-07-05 17:06 ` [PATCH v2 11/14] range-diff: suppress line count in outer diff Thomas Gummerer
2019-07-05 17:06 ` [PATCH v2 12/14] range-diff: add section header instead of diff header Thomas Gummerer
2019-07-05 19:35 ` Johannes Schindelin
2019-07-08 11:44 ` Thomas Gummerer
2019-07-08 13:12 ` Johannes Schindelin
2019-07-05 17:06 ` [PATCH v2 13/14] range-diff: add filename to inner diff Thomas Gummerer
2019-07-05 17:06 ` [PATCH v2 14/14] range-diff: add headers to the outer hunk header Thomas Gummerer
2019-07-05 19:48 ` [PATCH v2 00/14] output improvements for git range-diff Johannes Schindelin
2019-07-08 11:45 ` Thomas Gummerer
2019-07-08 16:33 ` [PATCH v3 " Thomas Gummerer
2019-07-08 16:33 ` [PATCH v3 01/14] apply: replace marc.info link with public-inbox Thomas Gummerer
2019-07-08 16:33 ` [PATCH v3 02/14] apply: only pass required data to skip_tree_prefix Thomas Gummerer
2019-07-08 16:33 ` [PATCH v3 03/14] apply: only pass required data to git_header_name Thomas Gummerer
2019-07-08 16:33 ` [PATCH v3 04/14] apply: only pass required data to check_header_line Thomas Gummerer
2019-07-08 16:33 ` [PATCH v3 05/14] apply: only pass required data to find_name_* Thomas Gummerer
2019-07-08 16:33 ` [PATCH v3 06/14] apply: only pass required data to gitdiff_* functions Thomas Gummerer
2019-07-08 16:33 ` [PATCH v3 07/14] apply: make parse_git_header public Thomas Gummerer
2019-07-09 19:39 ` Junio C Hamano
2019-07-09 21:23 ` Thomas Gummerer
2019-07-09 23:22 ` Junio C Hamano
2019-07-10 8:48 ` Thomas Gummerer
2019-07-08 16:33 ` [PATCH v3 08/14] range-diff: fix function parameter indentation Thomas Gummerer
2019-07-08 16:33 ` [PATCH v3 09/14] range-diff: split lines manually Thomas Gummerer
2019-07-08 16:33 ` [PATCH v3 10/14] range-diff: don't remove funcname from inner diff Thomas Gummerer
2019-07-08 16:33 ` [PATCH v3 11/14] range-diff: suppress line count in outer diff Thomas Gummerer
2019-07-08 16:33 ` [PATCH v3 12/14] range-diff: add section header instead of diff header Thomas Gummerer
2019-07-08 16:33 ` [PATCH v3 13/14] range-diff: add filename to inner diff Thomas Gummerer
2019-07-08 16:33 ` [PATCH v3 14/14] range-diff: add headers to the outer hunk header Thomas Gummerer
2019-07-11 16:08 ` Thomas Gummerer [this message]
2019-07-11 16:08 ` [PATCH v4 01/14] apply: replace marc.info link with public-inbox Thomas Gummerer
2019-07-11 16:08 ` [PATCH v4 02/14] apply: only pass required data to skip_tree_prefix Thomas Gummerer
2019-07-11 16:08 ` [PATCH v4 03/14] apply: only pass required data to git_header_name Thomas Gummerer
2019-07-11 16:08 ` [PATCH v4 04/14] apply: only pass required data to check_header_line Thomas Gummerer
2019-07-11 16:08 ` [PATCH v4 05/14] apply: only pass required data to find_name_* Thomas Gummerer
2019-07-11 16:08 ` [PATCH v4 06/14] apply: only pass required data to gitdiff_* functions Thomas Gummerer
2019-07-11 16:08 ` [PATCH v4 07/14] apply: make parse_git_diff_header public Thomas Gummerer
2019-07-11 16:08 ` [PATCH v4 08/14] range-diff: fix function parameter indentation Thomas Gummerer
2019-07-11 16:08 ` [PATCH v4 09/14] range-diff: split lines manually Thomas Gummerer
2019-07-11 16:08 ` [PATCH v4 10/14] range-diff: don't remove funcname from inner diff Thomas Gummerer
2019-07-11 16:08 ` [PATCH v4 11/14] range-diff: suppress line count in outer diff Thomas Gummerer
2019-07-11 16:08 ` [PATCH v4 12/14] range-diff: add section header instead of diff header Thomas Gummerer
2019-07-11 16:08 ` [PATCH v4 13/14] range-diff: add filename to inner diff Thomas Gummerer
2019-07-11 16:08 ` [PATCH v4 14/14] range-diff: add headers to the outer hunk header Thomas Gummerer
2019-07-11 22:09 ` [PATCH v4 00/14] output improvements for git range-diff Ramsay Jones
2019-07-12 10:44 ` Johannes Schindelin
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190711160851.14380-1-t.gummerer@gmail.com \
--to=t.gummerer@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=j6t@kdbg.org \
--cc=pclouds@gmail.com \
--cc=sunshine@sunshineco.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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).