git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/3] format-patch: pick up branch description when no ref is specified

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 1, 2013, 20:38 UTC
Message-ID
<7v38ykbpv3.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1357032655-21103-2-git-send-email-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy  <pclouds@gmail.com> writes:
> find_branch_name() fails to detect "format-patch --cover-letter -3"
> where no command line arguments are given and HEAD is automatically
> added.
Nicely spotted.
That is not the only case that takes this codepath, though.
    $ git format-patch --cover-letter master..

will also give you the same (if you say it without "..", which is the more normal invocation of the command, then the caller already know you meant the current branch and this function is not called).

And in that case you will have two tokens on cmdline.nr, one for "master.." to show where he bottom is, and the other for the implied "HEAD"; I do not think this patch is a sufficient solution for the more general cases, but on the other hand I do not know how much it matters.

Show 7 quoted lines
> -	if (positive < 0)
> +	if (positive < 0) {
> +		/*
> +		 * No actual ref from command line, but "HEAD" from
> +		 * rev->def was added in setup_revisions()
> +		 * e.g. format-patch --cover-letter -12
> +		 */

That comment does not describe "positive < 0" case, but belongs to the conditional added in this patch, no?

Show 13 quoted lines
> +		if (!rev->cmdline.nr &&
> +		    rev->pending.nr == 1 &&
> +		    !strcmp(rev->pending.objects[0].name, "HEAD")) {
> +			const char *ref;
> +			ref = resolve_ref_unsafe("HEAD", branch_sha1, 1, NULL);
> +			if (ref && !prefixcmp(ref, "refs/heads/"))
> +				return xstrdup(ref + strlen("refs/heads/"));
> +		}
>  		return NULL;
> +	}
>  	strbuf_addf(&buf, "refs/heads/%s", rev->cmdline.rev[positive].name);
>  	branch = resolve_ref_unsafe(buf.buf, branch_sha1, 1, NULL);
>  	if (!branch ||
Previous: Nguyễn Thái Ngọc DuyNext: Duy Nguyen
Message 3 of 5 in “config.txt: a few lines about branch.<name>.description”
  1. 1/3 config.txt: a few lines about branch.<name>.descriptionNguyễn Thái Ngọc Duy, Jan 1, 2013
  2. 2/3 format-patch: pick up branch description when no ref is specifiedNguyễn Thái Ngọc Duy, Jan 1, 2013
  3. Junio C HamanoJan 1, 2013
  4. Duy NguyenJan 2, 2013
  5. 3/3 branch: delete branch description if it's emptyNguyễn Thái Ngọc Duy, Jan 1, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.