From: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
To: Tanay Abhra <tanayabh@gmail.com>
Cc: git@vger.kernel.org, Ramkumar Ramachandra <artagnon@gmail.com>
Subject: Re: [PATCH/RFC] branch.c: Replace `git_config` with `git_config_get_string`
Date: Mon, 16 Jun 2014 19:29:19 +0200 [thread overview]
Message-ID: <vpqfvj4226o.fsf@anie.imag.fr> (raw)
In-Reply-To: <1402908750-24851-1-git-send-email-tanayabh@gmail.com> (Tanay Abhra's message of "Mon, 16 Jun 2014 01:52:30 -0700")
> Subject: Re: [PATCH/RFC] branch.c: Replace `git_config` with `git_config_get_string`
Here and elsewhere: usually, no capital after :.
Tanay Abhra <tanayabh@gmail.com> writes:
> Original implementation uses a callback based approach which has some
> deficiencies like a convoluted control flow and redundant variables.
"deficiencies" might be a bit strong (the code did work).
> There are total 111 calls in total in all of git codebase. How should I send
> the patches, alphabetically or otherwise?
My advice would be: try as much as possible to split according to the
complexity of the patch.
As a reviewer, I find it rather easy to review a large number of trivial
and similar changes, but I hate having to switch back to "wow, the
author did something tricky, let's try to understand this" in the middle
of a trivial series.
(we had this discussion about `...` Vs $(...) and test -a Vs test ... &&
series, which were essentially very trivial changes, but with subtle
bugs introduced and hidden by the volume of trivial changes).
> branch.c | 25 +++++++++----------------
> 1 file changed, 9 insertions(+), 16 deletions(-)
Removing more lines than it adds. I like the patch already ;-).
> diff --git a/branch.c b/branch.c
> index 660097b..257b1bf 100644
> --- a/branch.c
> +++ b/branch.c
[...]
> int read_branch_desc(struct strbuf *buf, const char *branch_name)
> {
> - struct branch_desc_cb cb;
> + const char *value;
> + struct branch_desc desc;
> struct strbuf name = STRBUF_INIT;
> strbuf_addf(&name, "branch.%s.description", branch_name);
> - cb.config_name = name.buf;
> - cb.value = NULL;
> - if (git_config(read_branch_desc_cb, &cb) < 0) {
> + desc.config_name = name.buf;
> + desc.value = NULL;
> + value = git_config_get_string(desc.config_name);
> + git_config_string(&desc.value, desc.config_name, value);
You're ignoring the return value of git_config_string, which is an error
code. It shouldn't harm, because the code is non-zero iff desc.value is
set to non-NULL, but you may want to write the code as
if (git_config_string(...)) {
strbuf_release(...);
return -1;
}
In any case, the patch sounds good to me.
--
Matthieu Moy
http://www-verimag.imag.fr/~moy/
next prev parent reply other threads:[~2014-06-16 17:29 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-16 8:52 [PATCH/RFC] branch.c: Replace `git_config` with `git_config_get_string` Tanay Abhra
2014-06-16 17:29 ` Matthieu Moy [this message]
2014-06-16 17:49 ` Tanay Abhra
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=vpqfvj4226o.fsf@anie.imag.fr \
--to=matthieu.moy@grenoble-inp.fr \
--cc=artagnon@gmail.com \
--cc=git@vger.kernel.org \
--cc=tanayabh@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.