git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Felipe Contreras <felipe.contreras@gmail.com>
To: Joachim Schmitz <jojo@schmitz-digital.de>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 1/2] sequencer: trivial fix
Date: Wed, 29 May 2013 05:51:53 -0500	[thread overview]
Message-ID: <CAMP44s0vARKGsn2noBEAxSVHD1bkU9pR7nPCvFJwp5epwidkQw@mail.gmail.com> (raw)
In-Reply-To: <ko4jf7$e4d$1@ger.gmane.org>

On Wed, May 29, 2013 at 4:58 AM, Joachim Schmitz
<jojo@schmitz-digital.de> wrote:
> Felipe Contreras wrote:
>>
>> Junio C Hamano wrote:

>>> It probably is better to fold this patch into the other one when it
>>> is rerolled to correct the option name gotcha "on the tin".
>>
>>
>> Why? This patch is standalone and fixes an issue that is independent
>> of the other patch. Why squash two patches that do *two* different
>> things?
>>
>> Anyway, I'll happily drop this patch if you want this memory leak to
>> remain. But then I'll do the same in the other patch.
>>
>> This mantra of avodiing 'goto' is not helping anybody.
>
>
> adding 5 letters (to change the next "if" into an "else if") versus your
> addition of several lines and some 15 additional letters (ignoring the
> whitsspace)  is IMHO enough to see what is better?

This has nothing to do with what Junio said. Junio said it is better
to squash the two changes into one, which is not clearly better.

As for your suggestion, what happens the next time somebody needs to
add something else to this chunk of code? Another if, and then
another, and soon enough you end up with five levels of indentation,
and in some of those patches you have to change the indentation of
existing code.

If only there was much bigger and successful software project that had
hashed all these questions and came up with a code-style to last the
ages. Oh, but there is, it's called Linux, and the answer is to use
goto's.

If the code used a goto in the first place.. BAM:

--- a/sequencer.c
+++ b/sequencer.c
 <at>  <at>  -628,8 +628,10  <at>  <at>  static int
do_pick_commit(struct commit *commit, struct replay_opts *opts)
 	}

 	allow = allow_empty(opts, commit);
-	if (allow < 0)
-		return allow;
+	if (allow < 0) {
+		res = allow;
+		goto leave;
+	}
 	if (!opts->no_commit)
 		res = run_git_commit(defmsg, opts, allow);

And every time you need to add more code you just do it, and stop
worrying about increasing indentation, or re-indenting.

Problem solved.

-- 
Felipe Contreras

  reply	other threads:[~2013-05-29 10:52 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-27 16:52 [PATCH 0/2] cherry-pick: a fix and a new option Felipe Contreras
2013-05-27 16:52 ` [PATCH 1/2] sequencer: trivial fix Felipe Contreras
2013-05-28 11:00   ` Neil Horman
2013-05-28 17:04     ` Junio C Hamano
2013-05-29  2:32       ` Felipe Contreras
2013-05-29  9:58         ` Joachim Schmitz
2013-05-29 10:51           ` Felipe Contreras [this message]
2013-05-29 11:13             ` Joachim Schmitz
2013-05-29 11:23               ` Felipe Contreras
2013-05-29 11:29                 ` Joachim Schmitz
2013-05-29 11:37                 ` Joachim Schmitz
2013-05-29 13:13         ` Neil Horman
2013-05-29 13:25   ` Duy Nguyen
2013-05-29 13:34     ` Felipe Contreras
2013-05-29 13:42       ` Duy Nguyen
2013-05-29 13:46         ` Felipe Contreras
2013-05-29 13:54           ` Duy Nguyen
2013-05-29 14:10             ` Felipe Contreras
2013-05-27 16:52 ` [PATCH 2/2] cherry-pick: add --skip-commits option Felipe Contreras
2013-05-28 10:29   ` Joachim Schmitz
2013-05-28 11:06   ` Neil Horman

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=CAMP44s0vARKGsn2noBEAxSVHD1bkU9pR7nPCvFJwp5epwidkQw@mail.gmail.com \
    --to=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jojo@schmitz-digital.de \
    /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).