From: Martin von Zweigbergk Date: Sun, 16 Jun 2013 05:45:17 GMT Subject: Re: [PATCH 1/3] rebase: guard against missing files in read_basic_state() Message-ID: In-Reply-To: <7vy5adskz3.fsf@alter.siamese.dyndns.org> On Thu, Jun 13, 2013 at 3:29 PM, Junio C Hamano wrote: > Ramkumar Ramachandra writes: > > A more troublesome is that nobody seems to check the return value of > this function. If head-name, onto or orig-head is missing, is that > an error condition that should make the callers of read_basic_state > stop and refuse to proceed? Since we unconditionally write those three (and 'quiet'), it seems reasonable to require all of them to be there when continuing, so I think you're right that we should fail fast. > The way the && cascade is used seems to indicate that, but up to the > point where it sents $verbose. If and only if head-name, onto, orig-head > and quiet can be read in state-dir, verbose in state-dir is checked > and only then $verbose is set. > > Martin, this seems to be from your series around early Feburary > 2011. Do you recall why these checks are cascaded this way? > I do not offhand think of a good reason. Neither do I. I think the cascading after 'quiet' is just a mistake on my part. The consequences are probably close to none, since if one of earlier commands fail, the other files will probably not be there either. (Not defending it; I'm happy if it gets fixed, e.g. by making it fail fast.)