From: Junio C Hamano Date: Tue, 31 Mar 2015 20:37:35 GMT Subject: Re: [PATCH 1/6] remote.c: drop default_remote_name variable Message-ID: In-Reply-To: <20150331173437.GA18912@peff.net> Jeff King writes: > When we read the remote config from disk, we update a > default_remote_name variable if we see branch.*.remote > config for the current branch. This isn't wrong, or even all > that complicated, but it is a bit simpler (because it > reduces our overall state) to just lazily compute the > default when we need it. > > The ulterior motive here is that the push config uses a > similar structure, and _is_ much more complicated as a > result. That will be simplified in a future patch, and it's > more readable if the logic remotes and push-remotes matches. I cannot quite parse the part after "if..."; "the logic used by remotes and push-remotes matches"? > Note that we also used default_remote_name as a signal that > the remote config has been loaded; after this patch, we now > use an explicit flag. > > Signed-off-by: Jeff King > --- > remote.c | 24 ++++++++++++------------ > 1 file changed, 12 insertions(+), 12 deletions(-) > > diff --git a/remote.c b/remote.c > index 68901b0..fcd868d 100644 > --- a/remote.c > +++ b/remote.c > @@ -39,6 +39,8 @@ struct rewrites { > int rewrite_nr; > }; > > +static int loaded_remotes_config; > + I expect that the reason why this is not a function scope static in read_config() will be revealed in the later patch in this series...