Re: [PATCH 04/12] remote.c: provide per-branch pushremote name
From: Jeff King <hidden>
Date: 2016-06-15 23:04:40
Subsystem:
the rest · Maintainer:
Linus Torvalds
On Tue, May 05, 2015 at 03:48:29PM -0400, Eric Sunshine wrote:
quoted
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 <redacted> --- 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