Re: [PATCH 04/12] remote.c: provide per-branch pushremote name
- From
Jeff King <peff@peff.net>
- Date
- May 7, 2015, 09:38 UTC
- Message-ID
- <20150507093836.GB14524@peff.net>
- In-Reply-To
- <CAPig+cQ+AbgTXAWKaN4obdGLWFDxjfr4yAaJZgvnLLzzoqdPRQ@mail.gmail.com>
On Tue, May 05, 2015 at 03:48:29PM -0400, Eric Sunshine wrote:
Show 11 quoted lines
> > Yeah, it's just that it goes in the opposite direction I was trying for, > > which is to have as little code as possible in the wrapper functions (in > > fact, I think after my changes you could even bump the read_config() > > call into remote_get_1; before my changes, it depended on the pushremote > > config being set before the call). > > I also noticed that read_config() could be moved into remote_get_1(). > In fact, with that change, then the wrappers really do collapse nicely > to 1-liners, so the "clever" function pointer approach probably is > cleaner; and it's nicely generalized over the previous round with the > boolean argument to remote_get_1().
I ended up with this patch, which will go right after the one we're discussing:
-- >8 -- Subject: remote.c: hoist read_config into remote_get_1
Before the previous commit, we had to make sure that read_config() was called before entering remote_get_1, because we needed to pass pushremote_name by value. But now that we pass a function, we can let remote_get_1 handle loading the config itself, turning our wrappers into true one-liners.
Signed-off-by: Jeff King <peff@peff.net> --- remote.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/remote.c b/remote.c index a91d063..e6b29b3 100644 --- a/remote.c +++ b/remote.c @@ -718,6 +718,8 @@ static struct remote *remote_get_1(const char *name, struct remote *ret; int name_given = 0; + read_config(); + if (name) name_given = 1; else @@ -741,13 +743,11 @@ static struct remote *remote_get_1(const char *name, struct remote *remote_get(const char *name) { - read_config(); return remote_get_1(name, remote_for_branch); } struct remote *pushremote_get(const char *name) { - read_config(); return remote_get_1(name, pushremote_for_branch); }
-- 2.4.0.488.gf55b16a