All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ramsay Jones <ramsay@ramsayjones.plus.com>
To: Thomas Gummerer <t.gummerer@gmail.com>, 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>
Subject: Re: [PATCH v4 00/14] output improvements for git range-diff
Date: Thu, 11 Jul 2019 23:09:58 +0100	[thread overview]
Message-ID: <fd594a29-0ae9-c06b-6cb9-6ae2804f8f44@ramsayjones.plus.com> (raw)
In-Reply-To: <20190711160851.14380-1-t.gummerer@gmail.com>



On 11/07/2019 17:08, Thomas Gummerer wrote:
> 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(-)


Yes, the patch I just sent related to the previous version of
this series. However, I believe it still applies to this version
(looking at the range-diff below).

ATB,
Ramsay Jones

> 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
> 

  parent reply	other threads:[~2019-07-11 22:10 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     ` [PATCH v4 00/14] output improvements for git range-diff Thomas Gummerer
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       ` Ramsay Jones [this message]
2019-07-12 10:44       ` [PATCH v4 00/14] output improvements for git range-diff 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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fd594a29-0ae9-c06b-6cb9-6ae2804f8f44@ramsayjones.plus.com \
    --to=ramsay@ramsayjones.plus.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 \
    --cc=t.gummerer@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.