git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Heiko Voigt <hvoigt@hvoigt.net>
Cc: git@vger.kernel.org, Daniel Milde <daniel@milde.cz>
Subject: Re: [PATCH v2] Let submodule command exit with error status if path does not exist
Date: Mon, 13 Aug 2012 10:11:31 -0700	[thread overview]
Message-ID: <7vvcgmemyk.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <20120813163911.GA6418@book.hvoigt.net> (Heiko Voigt's message of "Mon, 13 Aug 2012 18:39:17 +0200")

Heiko Voigt <hvoigt@hvoigt.net> writes:

> How about I update CodingGuidelines according to the rules you
> suggested? Then other people know how we prefer bash functions and if
> statements to look like.

OK.  I was hoping that "imitate surrounding code" was sufficient,
but it seems many parts of the codebase have deteriorated enough to
make that rule no longer easy to follow.

>> Style:
>> 
>> 	if test -z "$sm_path"
>> 	then
>> 		exit 1
>
> See above. If you agree I would add this style to the guidelines.

Likewise.

>> I know module_list would have said "error: pathspec 'no-such' did
>> not match any file(s) known to git.  Did you forget to git add"
>> already, but because that comes at the very end of the input to the
>> filter written in perl (and with the way the filter is coded, it
>> will stay at the end), I am not sure if the user would notice it if
>> we exit like this.  By the time we hit this exit, we would have seen
>> "Entering $sm_path..." followed by whatever message given while in
>> the submodule for all the submodules that comes out of module_list,
>> no?
>> 
>> How about doing it this way to avoid that issue, to make sure we die
>> immediately after the typo is diagnosed without touching anything?
>
> I like it, your approach combines the atomicity of my first patch with
> the efficiency of not calling ls-files twice. I was hesitant to change
> to much code just to get the exit code right, but your approach looks
> good to me.
>
> Should I send an updated patch? Or do you just want to squash this in.
> Since now only the tests are from me what should we do with the
> ownership?

That is your itch and the idea and the bulk of the changes remains
to be yours in any case, methinks.

By the way, there is no reason for my patch to be unshifting the "#unmatch"
token into the array and spewing the array out, if the readers are always
going to stop upon seeing "#unmatch" without touching any submodule
that is named correctly on the command line.  In other words, the
following should suffice:

	while (<>) {
		... accumulate in @out ...
	}
	if ($unmatched) {
		print "#unmatched\n";
	} else {
		print for (@out);
	}

  reply	other threads:[~2012-08-13 17:11 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-28  8:28 git submodule return status Daniel Milde
2012-08-09 20:03 ` [PATCH] Let submodule command exit with error status if path does not exist Heiko Voigt
2012-08-09 20:42   ` Junio C Hamano
2012-08-11  6:49     ` [PATCH v2] " Heiko Voigt
2012-08-12  5:43       ` Junio C Hamano
2012-08-13 16:39         ` Heiko Voigt
2012-08-13 17:11           ` Junio C Hamano [this message]
2012-08-14 20:35             ` [PATCH v3] " Heiko Voigt
2012-08-14 20:59               ` Junio C Hamano

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=7vvcgmemyk.fsf@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=daniel@milde.cz \
    --cc=git@vger.kernel.org \
    --cc=hvoigt@hvoigt.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).