On Thu, May 7, 2015 at 5:38 AM, Jeff King <peff@xxxxxxxx> wrote: > On Tue, May 05, 2015 at 03:48:29PM -0400, Eric Sunshine wrote: > >> > 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: Nice, I like it. > -- >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@xxxxxxxx> > --- > 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html