Re: [RFC/PATCH v3] merge-base: teach "git merge-base" to accept more than 2 arguments

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

 



Christian Couder <chriscool@xxxxxxxxxxxxx> writes:

> Before this patch "git merge-base" accepted only 2 arguments, so
> only merge bases between 2 references could be computed.
>
> The purpose of this patch is to make "git merge-base" accept more
> than 2 arguments, so that the merge bases between the first given
> reference and all the other references can be computed.

I have trouble with this wording, but I'll comment on the documentation
part in a separate message.

> +static struct commit *get_commit_reference(const char *arg)
> +{
> +	unsigned char revkey[20];
> +	if (get_sha1(arg, revkey))
> +		die("Not a valid object name %s", arg);
> +	return lookup_commit_reference(revkey);
> +}

This returns a NULL when you feed a tree to the command, and...

>  int cmd_merge_base(int argc, const char **argv, const char *prefix)
>  {
> +	struct commit **rev;
>  	int show_all = 0;
> +	int rev_nr = 0;
>  
>  	git_config(git_default_config, NULL);
>  
> @@ -38,15 +48,18 @@ int cmd_merge_base(int argc, const char **argv, const char *prefix)
>  			usage(merge_base_usage);
>  		argc--; argv++;
>  	}
> +	if (argc < 3)
>  		usage(merge_base_usage);
> +
> +	rev = xmalloc((argc - 1) * sizeof(*rev));
> +
> +	do {
> +		struct commit *r = get_commit_reference(argv[1]);
> +		if (!r)
> +			return 1;

... the command silently exits with 1.
--
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]

  Powered by Linux