Re: [PATCH 3/4] range-diff: make use of different output indicators

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Stefan,

On Fri, 10 Aug 2018, Stefan Beller wrote:

> This change itself only changes the internal communication and should
> have no visible effect to the user. We instruct the diff code that produces
> the inner diffs to use X, Y, Z instead of the usual markers for new, old
> and context lines
> 
> Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx>
> ---
>  range-diff.c | 15 ++++++++++++++-
>  1 file changed, 14 insertions(+), 1 deletion(-)
> 
> diff --git a/range-diff.c b/range-diff.c
> index b6b9abac266..6e4192c8e79 100644
> --- a/range-diff.c
> +++ b/range-diff.c
> @@ -38,6 +38,9 @@ static int read_patches(const char *range, struct string_list *list)
>  
>  	argv_array_pushl(&cp.args, "log", "--no-color", "-p", "--no-merges",
>  			"--reverse", "--date-order", "--decorate=no",
> +			"--output-indicator-new=X",
> +			"--output-indicator-old=Y",
> +			"--output-indicator-context=Z",
>  			"--no-abbrev-commit", range,
>  			NULL);
>  	cp.out = -1;
> @@ -108,8 +111,18 @@ static int read_patches(const char *range, struct string_list *list)
>  			 * we are not interested.
>  			 */
>  			continue;
> -		else
> +		else if (line.buf[0] == 'X') {
> +			strbuf_addch(&buf, '+');
> +			strbuf_add(&buf, line.buf + 1, line.len - 1);
> +		} else if (line.buf[0] == 'Y') {
> +			strbuf_addch(&buf, '-');
> +			strbuf_add(&buf, line.buf + 1, line.len - 1);
> +		} else if (line.buf[0] == 'Z') {
> +			strbuf_addch(&buf, ' ');
> +			strbuf_add(&buf, line.buf + 1, line.len - 1);
> +		} else {
>  			strbuf_addbuf(&buf, &line);
> +		}

My preliminary reading (I sadly lack the time to pull your branch and play
with it) suggests that this works, although I have to admit that X/Y/Z
would confuse me in 6 months from now, as they do not really read like
diff markers but like plain text. I could imagine that '>', '<' and '#'
would not impart that confusion on me.

Ciao,
Dscho

>  
>  		strbuf_addch(&buf, '\n');
>  		util->diffsize++;
> -- 
> 2.18.0.865.gffc8e1a3cd6-goog
> 
> 



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux