Re: [PATCH 4/5] transport-helper: trivial cleanup

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

 



Felipe Contreras <felipe.contreras@xxxxxxxxx> writes:

> It's simpler to store the file names directly, and form the fast-export
> arguments only when needed, and re-use the same strbuf with a format.
>
> Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx>
> ---
>  transport-helper.c | 23 +++++++++++------------
>  1 file changed, 11 insertions(+), 12 deletions(-)
>
> diff --git a/transport-helper.c b/transport-helper.c
> index b068ea5..2747f98 100644
> --- a/transport-helper.c
> +++ b/transport-helper.c
> @@ -195,15 +195,9 @@ static struct child_process *get_helper(struct transport *transport)
>  		} else if (!strcmp(capname, "signed-tags")) {
>  			data->signed_tags = 1;
>  		} else if (starts_with(capname, "export-marks ")) {
> -			struct strbuf arg = STRBUF_INIT;
> -			strbuf_addstr(&arg, "--export-marks=");
> -			strbuf_addstr(&arg, capname + strlen("export-marks "));
> -			data->export_marks = strbuf_detach(&arg, NULL);
> +			data->export_marks = xstrdup(capname + strlen("export-marks "));
>  		} else if (starts_with(capname, "import-marks")) {
> -			struct strbuf arg = STRBUF_INIT;
> -			strbuf_addstr(&arg, "--import-marks=");
> -			strbuf_addstr(&arg, capname + strlen("import-marks "));
> -			data->import_marks = strbuf_detach(&arg, NULL);
> +			data->import_marks = xstrdup(capname + strlen("import-marks "));
>  		} else if (starts_with(capname, "no-private-update")) {
>  			data->no_private_update = 1;
>  		} else if (mandatory) {
> @@ -429,6 +423,7 @@ static int get_exporter(struct transport *transport,
>  	struct child_process *helper = get_helper(transport);
>  	int argc = 0, i;
>  	memset(fastexport, 0, sizeof(*fastexport));
> +	struct strbuf tmp = STRBUF_INIT;

Will fix up decl-after-stmt while queuing.

>  
>  	/* we need to duplicate helper->in because we want to use it after
>  	 * fastexport is done with it. */
> @@ -438,10 +433,14 @@ static int get_exporter(struct transport *transport,
>  	fastexport->argv[argc++] = "--use-done-feature";
>  	fastexport->argv[argc++] = data->signed_tags ?
>  		"--signed-tags=verbatim" : "--signed-tags=warn-strip";
> -	if (data->export_marks)
> -		fastexport->argv[argc++] = data->export_marks;
> -	if (data->import_marks)
> -		fastexport->argv[argc++] = data->import_marks;
> +	if (data->export_marks) {
> +		strbuf_addf(&tmp, "--export-marks=%s", data->export_marks);
> +		fastexport->argv[argc++] = strbuf_detach(&tmp, NULL);
> +	}
> +	if (data->import_marks) {
> +		strbuf_addf(&tmp, "--import-marks=%s", data->import_marks);
> +		fastexport->argv[argc++] = strbuf_detach(&tmp, NULL);
> +	}
>  
>  	for (i = 0; i < revlist_args->nr; i++)
>  		fastexport->argv[argc++] = revlist_args->items[i].string;
--
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]