All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] preparatory diff improvements for moved color detection
@ 2016-09-07 23:36 Stefan Beller
  2016-09-07 23:36 ` [PATCH 1/3] diff.c: use diff_options directly Stefan Beller
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Stefan Beller @ 2016-09-07 23:36 UTC (permalink / raw)
  To: gitster; +Cc: git, Stefan Beller

Motivated by the feedback on the "[PATCHv4] diff.c: emit moved lines
with a different color"[1], I started refactoring the fn_out_consume function
in diff.c.  This lead to a huge amount of tiny patches so far, but nothing
to present as an end result.

These patches are preparatory for this effort and I want them out such that
I do not need to worry about them later.

Thanks,
Stefan

[1] https://public-inbox.org/git/20160906070151.15163-1-stefanbeller@gmail.com/



Stefan Beller (3):
  diff.c: use diff_options directly
  diff: omit found pointer from emit_callback
  diff: remove dead code

 diff.c | 30 +++++++++---------------------
 1 file changed, 9 insertions(+), 21 deletions(-)

-- 
2.10.0.2.g0676c79.dirty


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/3] diff.c: use diff_options directly
  2016-09-07 23:36 [PATCH 0/3] preparatory diff improvements for moved color detection Stefan Beller
@ 2016-09-07 23:36 ` Stefan Beller
  2016-09-08  5:33   ` Jacob Keller
  2016-09-07 23:36 ` [PATCH 1/2] diff: omit found pointer from emit_callback Stefan Beller
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Stefan Beller @ 2016-09-07 23:36 UTC (permalink / raw)
  To: gitster; +Cc: git, Stefan Beller

The value of `ecbdata->opt` is accessible via the short variable `o`
already, so let's use that instead.

Signed-off-by: Stefan Beller <sbeller@google.com>
---
 diff.c | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/diff.c b/diff.c
index 534c12e..4a6501c 100644
--- a/diff.c
+++ b/diff.c
@@ -1217,7 +1217,7 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
 	const char *line_prefix = diff_line_prefix(o);
 
 	if (ecbdata->header) {
-		fprintf(ecbdata->opt->file, "%s", ecbdata->header->buf);
+		fprintf(o->file, "%s", ecbdata->header->buf);
 		strbuf_reset(ecbdata->header);
 		ecbdata->header = NULL;
 	}
@@ -1229,9 +1229,9 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
 		name_a_tab = strchr(ecbdata->label_path[0], ' ') ? "\t" : "";
 		name_b_tab = strchr(ecbdata->label_path[1], ' ') ? "\t" : "";
 
-		fprintf(ecbdata->opt->file, "%s%s--- %s%s%s\n",
+		fprintf(o->file, "%s%s--- %s%s%s\n",
 			line_prefix, meta, ecbdata->label_path[0], reset, name_a_tab);
-		fprintf(ecbdata->opt->file, "%s%s+++ %s%s%s\n",
+		fprintf(o->file, "%s%s+++ %s%s%s\n",
 			line_prefix, meta, ecbdata->label_path[1], reset, name_b_tab);
 		ecbdata->label_path[0] = ecbdata->label_path[1] = NULL;
 	}
@@ -1249,15 +1249,15 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
 		find_lno(line, ecbdata);
 		emit_hunk_header(ecbdata, line, len);
 		if (line[len-1] != '\n')
-			putc('\n', ecbdata->opt->file);
+			putc('\n', o->file);
 		return;
 	}
 
 	if (len < 1) {
-		emit_line(ecbdata->opt, reset, reset, line, len);
+		emit_line(o, reset, reset, line, len);
 		if (ecbdata->diff_words
 		    && ecbdata->diff_words->type == DIFF_WORDS_PORCELAIN)
-			fputs("~\n", ecbdata->opt->file);
+			fputs("~\n", o->file);
 		return;
 	}
 
@@ -1282,8 +1282,8 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
 		}
 		diff_words_flush(ecbdata);
 		if (ecbdata->diff_words->type == DIFF_WORDS_PORCELAIN) {
-			emit_line(ecbdata->opt, context, reset, line, len);
-			fputs("~\n", ecbdata->opt->file);
+			emit_line(o, context, reset, line, len);
+			fputs("~\n", o->file);
 		} else {
 			/*
 			 * Skip the prefix character, if any.  With
@@ -1294,7 +1294,7 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
 			      line++;
 			      len--;
 			}
-			emit_line(ecbdata->opt, context, reset, line, len);
+			emit_line(o, context, reset, line, len);
 		}
 		return;
 	}
@@ -1316,8 +1316,7 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
 	default:
 		/* incomplete line at the end */
 		ecbdata->lno_in_preimage++;
-		emit_line(ecbdata->opt,
-			  diff_get_color(ecbdata->color_diff, DIFF_CONTEXT),
+		emit_line(o, diff_get_color(ecbdata->color_diff, DIFF_CONTEXT),
 			  reset, line, len);
 		break;
 	}
-- 
2.10.0.2.g0676c79.dirty


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 1/2] diff: omit found pointer from emit_callback
  2016-09-07 23:36 [PATCH 0/3] preparatory diff improvements for moved color detection Stefan Beller
  2016-09-07 23:36 ` [PATCH 1/3] diff.c: use diff_options directly Stefan Beller
@ 2016-09-07 23:36 ` Stefan Beller
  2016-09-07 23:36 ` [PATCH 2/3] " Stefan Beller
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Stefan Beller @ 2016-09-07 23:36 UTC (permalink / raw)
  To: gitster; +Cc: git, Stefan Beller

We keep the actual data in the diff options, which are just as accessible.
Remove the pointer stored in struct emit_callback for readability.

Signed-off-by: Stefan Beller <sbeller@google.com>
---
 diff.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/diff.c b/diff.c
index 4a6501c..79ad91d 100644
--- a/diff.c
+++ b/diff.c
@@ -354,7 +354,6 @@ struct emit_callback {
 	const char **label_path;
 	struct diff_words_data *diff_words;
 	struct diff_options *opt;
-	int *found_changesp;
 	struct strbuf *header;
 };
 
@@ -722,7 +721,6 @@ static void emit_rewrite_diff(const char *name_a,
 
 	memset(&ecbdata, 0, sizeof(ecbdata));
 	ecbdata.color_diff = want_color(o->use_color);
-	ecbdata.found_changesp = &o->found_changes;
 	ecbdata.ws_rule = whitespace_rule(name_b);
 	ecbdata.opt = o;
 	if (ecbdata.ws_rule & WS_BLANK_AT_EOF) {
@@ -1215,13 +1213,13 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
 	const char *reset = diff_get_color(ecbdata->color_diff, DIFF_RESET);
 	struct diff_options *o = ecbdata->opt;
 	const char *line_prefix = diff_line_prefix(o);
+	o->found_changes = 1;
 
 	if (ecbdata->header) {
 		fprintf(o->file, "%s", ecbdata->header->buf);
 		strbuf_reset(ecbdata->header);
 		ecbdata->header = NULL;
 	}
-	*(ecbdata->found_changesp) = 1;
 
 	if (ecbdata->label_path[0]) {
 		const char *name_a_tab, *name_b_tab;
@@ -2437,7 +2435,6 @@ static void builtin_diff(const char *name_a,
 		memset(&ecbdata, 0, sizeof(ecbdata));
 		ecbdata.label_path = lbl;
 		ecbdata.color_diff = want_color(o->use_color);
-		ecbdata.found_changesp = &o->found_changes;
 		ecbdata.ws_rule = whitespace_rule(name_b);
 		if (ecbdata.ws_rule & WS_BLANK_AT_EOF)
 			check_blank_at_eof(&mf1, &mf2, &ecbdata);
-- 
2.10.0.2.g0676c79.dirty


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/3] diff: omit found pointer from emit_callback
  2016-09-07 23:36 [PATCH 0/3] preparatory diff improvements for moved color detection Stefan Beller
  2016-09-07 23:36 ` [PATCH 1/3] diff.c: use diff_options directly Stefan Beller
  2016-09-07 23:36 ` [PATCH 1/2] diff: omit found pointer from emit_callback Stefan Beller
@ 2016-09-07 23:36 ` Stefan Beller
  2016-09-08 20:53   ` Junio C Hamano
  2016-09-07 23:36 ` [PATCH 2/2] diff: remove dead code Stefan Beller
  2016-09-07 23:36 ` [PATCH 3/3] " Stefan Beller
  4 siblings, 1 reply; 9+ messages in thread
From: Stefan Beller @ 2016-09-07 23:36 UTC (permalink / raw)
  To: gitster; +Cc: git, Stefan Beller

We keep the actual data in the diff options, which are just as accessible.
Remove the pointer stored in struct emit_callback for readability.

Signed-off-by: Stefan Beller <sbeller@google.com>
---
 diff.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/diff.c b/diff.c
index 4a6501c..79ad91d 100644
--- a/diff.c
+++ b/diff.c
@@ -354,7 +354,6 @@ struct emit_callback {
 	const char **label_path;
 	struct diff_words_data *diff_words;
 	struct diff_options *opt;
-	int *found_changesp;
 	struct strbuf *header;
 };
 
@@ -722,7 +721,6 @@ static void emit_rewrite_diff(const char *name_a,
 
 	memset(&ecbdata, 0, sizeof(ecbdata));
 	ecbdata.color_diff = want_color(o->use_color);
-	ecbdata.found_changesp = &o->found_changes;
 	ecbdata.ws_rule = whitespace_rule(name_b);
 	ecbdata.opt = o;
 	if (ecbdata.ws_rule & WS_BLANK_AT_EOF) {
@@ -1215,13 +1213,13 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
 	const char *reset = diff_get_color(ecbdata->color_diff, DIFF_RESET);
 	struct diff_options *o = ecbdata->opt;
 	const char *line_prefix = diff_line_prefix(o);
+	o->found_changes = 1;
 
 	if (ecbdata->header) {
 		fprintf(o->file, "%s", ecbdata->header->buf);
 		strbuf_reset(ecbdata->header);
 		ecbdata->header = NULL;
 	}
-	*(ecbdata->found_changesp) = 1;
 
 	if (ecbdata->label_path[0]) {
 		const char *name_a_tab, *name_b_tab;
@@ -2437,7 +2435,6 @@ static void builtin_diff(const char *name_a,
 		memset(&ecbdata, 0, sizeof(ecbdata));
 		ecbdata.label_path = lbl;
 		ecbdata.color_diff = want_color(o->use_color);
-		ecbdata.found_changesp = &o->found_changes;
 		ecbdata.ws_rule = whitespace_rule(name_b);
 		if (ecbdata.ws_rule & WS_BLANK_AT_EOF)
 			check_blank_at_eof(&mf1, &mf2, &ecbdata);
-- 
2.10.0.2.g0676c79.dirty


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/2] diff: remove dead code
  2016-09-07 23:36 [PATCH 0/3] preparatory diff improvements for moved color detection Stefan Beller
                   ` (2 preceding siblings ...)
  2016-09-07 23:36 ` [PATCH 2/3] " Stefan Beller
@ 2016-09-07 23:36 ` Stefan Beller
  2016-09-07 23:36 ` [PATCH 3/3] " Stefan Beller
  4 siblings, 0 replies; 9+ messages in thread
From: Stefan Beller @ 2016-09-07 23:36 UTC (permalink / raw)
  To: gitster; +Cc: git, Stefan Beller

When `len < 1`, len has to be 0 or negative, emit_line will then remove the
first character and by then `len` would be negative. As this doesn't
happen, it is safe to assume it is dead code.

This continues to simplify the code, which was started in b8d9c1a66b
(2009-09-03,  diff.c: the builtin_diff() deals with only two-file
comparison).

Signed-off-by: Stefan Beller <sbeller@google.com>
---
 diff.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/diff.c b/diff.c
index 79ad91d..c143019 100644
--- a/diff.c
+++ b/diff.c
@@ -1251,14 +1251,6 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
 		return;
 	}
 
-	if (len < 1) {
-		emit_line(o, reset, reset, line, len);
-		if (ecbdata->diff_words
-		    && ecbdata->diff_words->type == DIFF_WORDS_PORCELAIN)
-			fputs("~\n", o->file);
-		return;
-	}
-
 	if (ecbdata->diff_words) {
 		if (line[0] == '-') {
 			diff_words_append(line, len,
-- 
2.10.0.2.g0676c79.dirty


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/3] diff: remove dead code
  2016-09-07 23:36 [PATCH 0/3] preparatory diff improvements for moved color detection Stefan Beller
                   ` (3 preceding siblings ...)
  2016-09-07 23:36 ` [PATCH 2/2] diff: remove dead code Stefan Beller
@ 2016-09-07 23:36 ` Stefan Beller
  2016-09-08 21:07   ` Junio C Hamano
  4 siblings, 1 reply; 9+ messages in thread
From: Stefan Beller @ 2016-09-07 23:36 UTC (permalink / raw)
  To: gitster; +Cc: git, Stefan Beller

When `len < 1`, len has to be 0 or negative, emit_line will then remove the
first character and by then `len` would be negative. As this doesn't
happen, it is safe to assume it is dead code.

This continues to simplify the code, which was started in b8d9c1a66b
(2009-09-03,  diff.c: the builtin_diff() deals with only two-file
comparison).

Signed-off-by: Stefan Beller <sbeller@google.com>
---
 diff.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/diff.c b/diff.c
index 79ad91d..c143019 100644
--- a/diff.c
+++ b/diff.c
@@ -1251,14 +1251,6 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
 		return;
 	}
 
-	if (len < 1) {
-		emit_line(o, reset, reset, line, len);
-		if (ecbdata->diff_words
-		    && ecbdata->diff_words->type == DIFF_WORDS_PORCELAIN)
-			fputs("~\n", o->file);
-		return;
-	}
-
 	if (ecbdata->diff_words) {
 		if (line[0] == '-') {
 			diff_words_append(line, len,
-- 
2.10.0.2.g0676c79.dirty


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/3] diff.c: use diff_options directly
  2016-09-07 23:36 ` [PATCH 1/3] diff.c: use diff_options directly Stefan Beller
@ 2016-09-08  5:33   ` Jacob Keller
  0 siblings, 0 replies; 9+ messages in thread
From: Jacob Keller @ 2016-09-08  5:33 UTC (permalink / raw)
  To: Stefan Beller; +Cc: Junio C Hamano, Git mailing list

On Wed, Sep 7, 2016 at 4:36 PM, Stefan Beller <sbeller@google.com> wrote:
> The value of `ecbdata->opt` is accessible via the short variable `o`
> already, so let's use that instead.
>
> Signed-off-by: Stefan Beller <sbeller@google.com>

Seems reasonable.

> ---
>  diff.c | 21 ++++++++++-----------
>  1 file changed, 10 insertions(+), 11 deletions(-)
>
> diff --git a/diff.c b/diff.c
> index 534c12e..4a6501c 100644
> --- a/diff.c
> +++ b/diff.c
> @@ -1217,7 +1217,7 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
>         const char *line_prefix = diff_line_prefix(o);
>
>         if (ecbdata->header) {
> -               fprintf(ecbdata->opt->file, "%s", ecbdata->header->buf);
> +               fprintf(o->file, "%s", ecbdata->header->buf);
>                 strbuf_reset(ecbdata->header);
>                 ecbdata->header = NULL;
>         }
> @@ -1229,9 +1229,9 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
>                 name_a_tab = strchr(ecbdata->label_path[0], ' ') ? "\t" : "";
>                 name_b_tab = strchr(ecbdata->label_path[1], ' ') ? "\t" : "";
>
> -               fprintf(ecbdata->opt->file, "%s%s--- %s%s%s\n",
> +               fprintf(o->file, "%s%s--- %s%s%s\n",
>                         line_prefix, meta, ecbdata->label_path[0], reset, name_a_tab);
> -               fprintf(ecbdata->opt->file, "%s%s+++ %s%s%s\n",
> +               fprintf(o->file, "%s%s+++ %s%s%s\n",
>                         line_prefix, meta, ecbdata->label_path[1], reset, name_b_tab);
>                 ecbdata->label_path[0] = ecbdata->label_path[1] = NULL;
>         }
> @@ -1249,15 +1249,15 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
>                 find_lno(line, ecbdata);
>                 emit_hunk_header(ecbdata, line, len);
>                 if (line[len-1] != '\n')
> -                       putc('\n', ecbdata->opt->file);
> +                       putc('\n', o->file);
>                 return;
>         }
>
>         if (len < 1) {
> -               emit_line(ecbdata->opt, reset, reset, line, len);
> +               emit_line(o, reset, reset, line, len);
>                 if (ecbdata->diff_words
>                     && ecbdata->diff_words->type == DIFF_WORDS_PORCELAIN)
> -                       fputs("~\n", ecbdata->opt->file);
> +                       fputs("~\n", o->file);
>                 return;
>         }
>
> @@ -1282,8 +1282,8 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
>                 }
>                 diff_words_flush(ecbdata);
>                 if (ecbdata->diff_words->type == DIFF_WORDS_PORCELAIN) {
> -                       emit_line(ecbdata->opt, context, reset, line, len);
> -                       fputs("~\n", ecbdata->opt->file);
> +                       emit_line(o, context, reset, line, len);
> +                       fputs("~\n", o->file);
>                 } else {
>                         /*
>                          * Skip the prefix character, if any.  With
> @@ -1294,7 +1294,7 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
>                               line++;
>                               len--;
>                         }
> -                       emit_line(ecbdata->opt, context, reset, line, len);
> +                       emit_line(o, context, reset, line, len);
>                 }
>                 return;
>         }
> @@ -1316,8 +1316,7 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
>         default:
>                 /* incomplete line at the end */
>                 ecbdata->lno_in_preimage++;
> -               emit_line(ecbdata->opt,
> -                         diff_get_color(ecbdata->color_diff, DIFF_CONTEXT),
> +               emit_line(o, diff_get_color(ecbdata->color_diff, DIFF_CONTEXT),
>                           reset, line, len);
>                 break;
>         }
> --
> 2.10.0.2.g0676c79.dirty
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/3] diff: omit found pointer from emit_callback
  2016-09-07 23:36 ` [PATCH 2/3] " Stefan Beller
@ 2016-09-08 20:53   ` Junio C Hamano
  0 siblings, 0 replies; 9+ messages in thread
From: Junio C Hamano @ 2016-09-08 20:53 UTC (permalink / raw)
  To: Stefan Beller; +Cc: git

Stefan Beller <sbeller@google.com> writes:

> diff --git a/diff.c b/diff.c
> index 4a6501c..79ad91d 100644
> --- a/diff.c
> +++ b/diff.c
> @@ -354,7 +354,6 @@ struct emit_callback {
>  	const char **label_path;
>  	struct diff_words_data *diff_words;
>  	struct diff_options *opt;
> -	int *found_changesp;
>  	struct strbuf *header;
>  };

I briefly wondered if we have some callsites that do not want
o->found_changes to be modified (hence pointing this field at
elsewhere), but the fact that you can _remove_ this field means that
there is no such use case, which is good.

> @@ -722,7 +721,6 @@ static void emit_rewrite_diff(const char *name_a,
>  
>  	memset(&ecbdata, 0, sizeof(ecbdata));
>  	ecbdata.color_diff = want_color(o->use_color);
> -	ecbdata.found_changesp = &o->found_changes;
>  	ecbdata.ws_rule = whitespace_rule(name_b);
>  	ecbdata.opt = o;
>  	if (ecbdata.ws_rule & WS_BLANK_AT_EOF) {
> @@ -1215,13 +1213,13 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
>  	const char *reset = diff_get_color(ecbdata->color_diff, DIFF_RESET);
>  	struct diff_options *o = ecbdata->opt;
>  	const char *line_prefix = diff_line_prefix(o);
> +	o->found_changes = 1;
>  
>  	if (ecbdata->header) {
>  		fprintf(o->file, "%s", ecbdata->header->buf);
>  		strbuf_reset(ecbdata->header);
>  		ecbdata->header = NULL;
>  	}
> -	*(ecbdata->found_changesp) = 1;

Is there a good reason to move the assignment up?  "The fact that
this function was called even once means we found some change" is
probably a good argument, but then I'd prefer to have a blank before
it to separate it (the first statement) from the block of decls.

No need to resend.  Thanks.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/3] diff: remove dead code
  2016-09-07 23:36 ` [PATCH 3/3] " Stefan Beller
@ 2016-09-08 21:07   ` Junio C Hamano
  0 siblings, 0 replies; 9+ messages in thread
From: Junio C Hamano @ 2016-09-08 21:07 UTC (permalink / raw)
  To: Stefan Beller; +Cc: git

Stefan Beller <sbeller@google.com> writes:

> When `len < 1`, len has to be 0 or negative, emit_line will then remove the
> first character and by then `len` would be negative. As this doesn't
> happen, it is safe to assume it is dead code.
>
> This continues to simplify the code, which was started in b8d9c1a66b
> (2009-09-03,  diff.c: the builtin_diff() deals with only two-file
> comparison).

We look at line[0] to see if it is '@' before this check, which
would have been wrong if "len < 1" were ever true.

>
> Signed-off-by: Stefan Beller <sbeller@google.com>
> ---
>  diff.c | 8 --------
>  1 file changed, 8 deletions(-)
>
> diff --git a/diff.c b/diff.c
> index 79ad91d..c143019 100644
> --- a/diff.c
> +++ b/diff.c
> @@ -1251,14 +1251,6 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
>  		return;
>  	}
>  
> -	if (len < 1) {
> -		emit_line(o, reset, reset, line, len);
> -		if (ecbdata->diff_words
> -		    && ecbdata->diff_words->type == DIFF_WORDS_PORCELAIN)
> -			fputs("~\n", o->file);
> -		return;
> -	}
> -
>  	if (ecbdata->diff_words) {
>  		if (line[0] == '-') {
>  			diff_words_append(line, len,

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-09-08 21:07 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-07 23:36 [PATCH 0/3] preparatory diff improvements for moved color detection Stefan Beller
2016-09-07 23:36 ` [PATCH 1/3] diff.c: use diff_options directly Stefan Beller
2016-09-08  5:33   ` Jacob Keller
2016-09-07 23:36 ` [PATCH 1/2] diff: omit found pointer from emit_callback Stefan Beller
2016-09-07 23:36 ` [PATCH 2/3] " Stefan Beller
2016-09-08 20:53   ` Junio C Hamano
2016-09-07 23:36 ` [PATCH 2/2] diff: remove dead code Stefan Beller
2016-09-07 23:36 ` [PATCH 3/3] " Stefan Beller
2016-09-08 21:07   ` Junio C Hamano

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.