All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] fetch-pack.c: show correct command name that fails
Date: Wed, 18 Sep 2013 11:16:15 -0700	[thread overview]
Message-ID: <xmqqvc1yuhao.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <1379511678-11611-1-git-send-email-pclouds@gmail.com> ("Nguyễn	Thái Ngọc Duy"'s message of "Wed, 18 Sep 2013 20:41:18 +0700")

Nguyễn Thái Ngọc Duy  <pclouds@gmail.com> writes:

> When --shallow-file is added to the command line, it has to be
> before the subcommand name, the first argument won't be the command
> name any more. Stop assuming that and keep track of the command name
> explicitly.
>
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> ---

Thanks; this dates back to v1.8.3.2 but it is at the end of an error
path and only for reporting, so it may not be worth merging it down
to the 1.8.3.x maintenance track.

I wondered if this is something we can have a test for easily.
Unlike the "--upload-pack" option, there is no way for the receiving
end to choose which index-pack (or unpack-objects) to run, but we
may force a failure by temporarily futzing with PATH to make a dummy
git-index-pack that always fails to be found or something silly like
that.

>  fetch-pack.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/fetch-pack.c b/fetch-pack.c
> index 6684348..b259c51 100644
> --- a/fetch-pack.c
> +++ b/fetch-pack.c
> @@ -688,7 +688,7 @@ static int get_pack(struct fetch_pack_args *args,
>  	const char *argv[22];
>  	char keep_arg[256];
>  	char hdr_arg[256];
> -	const char **av;
> +	const char **av, *cmd_name;
>  	int do_keep = args->keep_pack;
>  	struct child_process cmd;
>  	int ret;
> @@ -735,7 +735,7 @@ static int get_pack(struct fetch_pack_args *args,
>  	if (do_keep) {
>  		if (pack_lockfile)
>  			cmd.out = -1;
> -		*av++ = "index-pack";
> +		*av++ = cmd_name = "index-pack";
>  		*av++ = "--stdin";
>  		if (!args->quiet && !args->no_progress)
>  			*av++ = "-v";
> @@ -752,7 +752,7 @@ static int get_pack(struct fetch_pack_args *args,
>  			*av++ = "--check-self-contained-and-connected";
>  	}
>  	else {
> -		*av++ = "unpack-objects";
> +		*av++ = cmd_name = "unpack-objects";
>  		if (args->quiet || args->no_progress)
>  			*av++ = "-q";
>  		args->check_self_contained_and_connected = 0;
> @@ -770,7 +770,7 @@ static int get_pack(struct fetch_pack_args *args,
>  	cmd.in = demux.out;
>  	cmd.git_cmd = 1;
>  	if (start_command(&cmd))
> -		die("fetch-pack: unable to fork off %s", argv[0]);
> +		die("fetch-pack: unable to fork off %s", cmd_name);
>  	if (do_keep && pack_lockfile) {
>  		*pack_lockfile = index_pack_lockfile(cmd.out);
>  		close(cmd.out);
> @@ -782,7 +782,7 @@ static int get_pack(struct fetch_pack_args *args,
>  			args->check_self_contained_and_connected &&
>  			ret == 0;
>  	else
> -		die("%s failed", argv[0]);
> +		die("%s failed", cmd_name);
>  	if (use_sideband && finish_async(&demux))
>  		die("error in sideband demultiplexer");
>  	return 0;

  reply	other threads:[~2013-09-18 18:16 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-18 13:41 [PATCH] fetch-pack.c: show correct command name that fails Nguyễn Thái Ngọc Duy
2013-09-18 18:16 ` Junio C Hamano [this message]
2013-09-18 18:20   ` Jeff King

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=xmqqvc1yuhao.fsf@gitster.dls.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=pclouds@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.