Re: [PATCH 5/6] remote.c: introduce remote.pushdefault

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 22, 2013 at 01:22:35PM +0530, Ramkumar Ramachandra wrote:

> diff --git a/remote.c b/remote.c
> index 185ac11..bdb542c 100644
> --- a/remote.c
> +++ b/remote.c
> @@ -350,6 +350,11 @@ static int handle_config(const char *key, const char *value, void *cb)
>  	const char *subkey;
>  	struct remote *remote;
>  	struct branch *branch;
> +	if (!prefixcmp(key, "remote.")) {
> +		if (!strcmp(key + 7, "pushdefault"))
> +			if (git_config_string(&pushremote_name, key, value))
> +				return -1;
> +	}
>  	if (!prefixcmp(key, "branch.")) {
>  		name = key + 7;
>  		subkey = strrchr(name, '.');

I was going to say "shouldn't we return 0" here, both on successful read
of pushdefault, but also just when we have remote.*. But the answer is
"yes" to the first one (we know we have handled the key), but "no" to
the second, because we end up parsing remote.*.* later.

So I think this should at least be:

  if (!prefixcmp(key, "remote.")) {
          if (!strcmp(key + 7, "pushdefault"))
                  return git_config_string(&pushremote_name, key, value));
          /* do not return; we handle other remote.* below */
  }

but also possibly just move it with the other remote parsing, like:

diff --git a/remote.c b/remote.c
index 02e6c4c..d3d740a 100644
--- a/remote.c
+++ b/remote.c
@@ -388,9 +388,16 @@ static int handle_config(const char *key, const char *value, void *cb)
 			add_instead_of(rewrite, xstrdup(value));
 		}
 	}
+
 	if (prefixcmp(key,  "remote."))
 		return 0;
 	name = key + 7;
+
+	/* Handle any global remote.* variables */
+	if (!strcmp(name, "pushdefault"))
+		return git_config_string(&pushremote_name, key, value);
+
+	/* Now handle any remote.NAME.* variables */
 	if (*name == '/') {
 		warning("Config remote shorthand cannot begin with '/': %s",
 			name);

-Peff
--
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]