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

Re: [PATCH v5b 00/17] port branch.c to use ref-filter's printing options

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 25, 2016, 21:47 UTC
Message-ID
<xmqq4mapjr7y.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<1461581558-32348-1-git-send-email-Karthik.188@gmail.com>
Karthik Nayak <karthik.188@gmail.com> writes:
Show 15 quoted lines
> This is part of unification of the commands 'git tag -l, git branch -l
> and git for-each-ref'. This ports over branch.c to use ref-filter's
> printing options.
>
> Initially posted here: $(gmane/279226). It was decided that this series
> would follow up after refactoring ref-filter parsing mechanism, which
> is now merged into master (9606218b32344c5c756f7c29349d3845ef60b80c).
>
> v1 can be found here: $(gmane/288342)
> v2 can be found here: $(gmane/288863)
> v3 can be found here: $(gmane/290299)
> v4 can be found here: $(gmane/291106)
>
> Changes in this version (v5b):
> 1. Added the first patch of the series which was missing in v5.
2. Rebased on top of 'master', which includes
   jk/branch-shortening-funny-symrefs.
Show 19 quoted lines
> Interdiff:
>
> diff --git a/builtin/branch.c b/builtin/branch.c
> index c9a2e5b..6847ac3 100644
> --- a/builtin/branch.c
> +++ b/builtin/branch.c
> @@ -288,9 +288,11 @@ static int calc_maxwidth(struct ref_array *refs, int remote_bonus)
>
>                 skip_prefix(it->refname, "refs/heads/", &desc);
>                 skip_prefix(it->refname, "refs/remotes/", &desc);
> -               if (it->kind == FILTER_REFS_DETACHED_HEAD)
> -                       w = strlen(get_head_description());
> -               else
> +               if (it->kind == FILTER_REFS_DETACHED_HEAD) {
> +                       char *head_desc = get_head_description();
> +                       w = strlen(head_desc);
> +                       free(head_desc);
> +               } else
>                         w = utf8_strwidth(desc);

Presumably w is computed here to be used later for some kind of alignment? It is curious why we can assume that head_desc does not need utf8_strwidth() here.

Previous: Karthik NayakNext: Karthik Nayak
Message 19 of 20 in “port branch.c to use ref-filter's printing options”
  1. 00/17 port branch.c to use ref-filter's printing optionsKarthik Nayak, Apr 25, 2016
  2. 01/17 ref-filter: implement %(if), %(then), and %(else) atomsKarthik Nayak, Apr 25, 2016
  3. 02/17 ref-filter: include reference to 'used_atom' within 'atom_value'Karthik Nayak, Apr 25, 2016
  4. 03/17 ref-filter: implement %(if:equals=<string>) and %(if:notequals=<string>)Karthik Nayak, Apr 25, 2016
  5. 04/17 ref-filter: modify "%(objectname:short)" to take lengthKarthik Nayak, Apr 25, 2016
  6. 05/17 ref-filter: move get_head_description() from branch.cKarthik Nayak, Apr 25, 2016
  7. 06/17 ref-filter: introduce format_ref_array_item()Karthik Nayak, Apr 25, 2016
  8. 07/17 ref-filter: make %(upstream:track) prints "[gone]" for invalid upstreamsKarthik Nayak, Apr 25, 2016
  9. 08/17 ref-filter: add support for %(upstream:track,nobracket)Karthik Nayak, Apr 25, 2016
  10. 09/17 ref-filter: make "%(symref)" atom work with the ':short' modifierKarthik Nayak, Apr 25, 2016
  11. 10/17 ref-filter: introduce refname_atom_parser_internal()Karthik Nayak, Apr 25, 2016
  12. 11/17 ref-filter: introduce symref_atom_parser() and refname_atom_parser()Karthik Nayak, Apr 25, 2016
  13. 12/17 ref-filter: make remote_ref_atom_parser() use refname_atom_parser_internal()Karthik Nayak, Apr 25, 2016
  14. 13/17 ref-filter: add `:dir` and `:base` options for ref printing atomsKarthik Nayak, Apr 25, 2016
  15. 14/17 ref-filter: allow porcelain to translate messages in the outputKarthik Nayak, Apr 25, 2016
  16. 15/17 branch, tag: use porcelain outputKarthik Nayak, Apr 25, 2016
  17. 16/17 branch: use ref-filter printing APIsKarthik Nayak, Apr 25, 2016
  18. 17/17 branch: implement '--format' optionKarthik Nayak, Apr 25, 2016
  19. Junio C HamanoApr 25, 2016
  20. Karthik NayakApr 26, 2016

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.