Re: [PATCH 2/4] remote.c: introduce a way to have different remotes for fetch/ push
From: Ramkumar Ramachandra <hidden>
Date: 2016-06-15 22:56:25
Jeff King wrote:
On Mon, Mar 18, 2013 at 06:46:13PM +0530, Ramkumar Ramachandra wrote:quoted
+struct remote *remote_get(const char *name) +{ + int name_given = 0; + + read_config(); + if (name) + name_given = 1; + else { + name = default_remote_name; + name_given = explicit_default_remote_name; + } + return remote_get_1(name, name_given); +} + +struct remote *pushremote_get(const char *name) +{ + int name_given = 0; + + read_config(); + if (name) + name_given = 1; + else { + if (pushremote_name) { + name = pushremote_name; + name_given = 1; + } else { + name = default_remote_name; + name_given = explicit_default_remote_name; + } + } + return remote_get_1(name, name_given); +}Can we get rid of this duplication by having remote_get_1 take a service-specific default argument? And then each service calls it like: struct remote *remote_get(const char *name) { read_config(); return remote_get_1(name, NULL); } struct remote *pushremote_get(const char *name) { read_config(); return remote_get_1(name, pushremote_name); }
Thanks for the dose of sanity. While at it, why not move read_config() to remote_get_1() as well?