On Sat, Jan 14, 2017 at 10:05 AM, Jeff King <peff@xxxxxxxx> wrote: > On Sat, Jan 14, 2017 at 06:57:13PM +0100, Johannes Schindelin wrote: > >> On Thu, 12 Jan 2017, Junio C Hamano wrote: >> >> > Johannes Schindelin <johannes.schindelin@xxxxxx> writes: >> > >> > > >> > > - if (!commit->parents) { >> > > + if (!commit->parents) >> > > parent = NULL; >> > > - } >> > > else if (commit->parents->next) { >> > > /* Reverting or cherry-picking a merge commit */ >> > > int cnt; >> > >> > The result becomes >> > >> > if (...) >> > single statement; >> > else if (...) { >> > multiple; >> > statements; >> > } >> > >> > which is not quite an improvement. >> >> Yet, this used to be the coding style of Git, and your statement comes >> quite as a surprise to me. > > Yeah, I thought we were OK with: > > if (cond) > single statement; > else { > multiple; > statements; > } > > but not the other way around: > > if (cond) { > multiple; > statements; > } else > single statement; > > I don't know if the "else if" changes that or not, but I certainly have > written things like your patch does. > > -Peff Personally, I am of the faith that if any branch of the if-then-else-if-then-else blocks needs braces, then all branches should use braces. However, I think that if (condition) <line> else { <block> } is reasonably close to this, as the main part can still clearly see the if condition pretty well. Thanks, Jake