Re: [PATCH 08/16] t4200: use cut instead of sed

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

 



Jeff King <peff@xxxxxxxx> writes:

> But the actual problem is that MERGE_RR lacks a trailing newline. I
> don't see any code to add newlines, even though it seems possible that
> we will write out several paths. So I think we need a newline here:
>
> diff --git a/builtin-rerere.c b/builtin-rerere.c
> index c607aad..e4a1dc1 100644
> --- a/builtin-rerere.c
> +++ b/builtin-rerere.c
> @@ -58,7 +58,8 @@ static int write_rr(struct path_list *rr, int out_fd)
>  		int length = strlen(path) + 1;
>  		if (write_in_full(out_fd, rr->items[i].util, 40) != 40 ||
>  		    write_in_full(out_fd, "\t", 1) != 1 ||
> -		    write_in_full(out_fd, path, length) != length)
> +		    write_in_full(out_fd, path, length) != length ||
> +		    write_in_full(out_fd, "\n", 1) != 1)
>  			die("unable to write rerere record");
>  	}
>  	if (commit_lock_file(&write_lock) != 0)

No, check 3f43d72392b6c0477debd7edbd49bae9b7f41e60^:git-rerere.perl; the
records in this file are supposed to be NUL terminated (the paths are
allowed to have LF in them).

> And unless I am missing something, rerere on multiple paths is very
> broken (but that seems weird, since this code is so old).

I do not recall offhand an example of multi-path rerere working or not
working correctly, but I am not surprised if the C re-implementation is
broken.  Will need to check.

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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