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

Re: [PATCH v10 05/13] ref-filter: implement an `align` atom

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 14, 2015, 17:42 UTC
Message-ID
<xmqqh9o1ix6x.fsf@gitster.dls.corp.google.com>
In-Reply-To
<CAOLa=ZQcd37Vq8j9sRYwnio0T3ua5C3frMc7-uEqLWsLo6eYYg@mail.gmail.com>
Karthik Nayak <karthik.188@gmail.com> writes:
Show 21 quoted lines
> On Thu, Aug 13, 2015 at 1:54 AM, Junio C Hamano <gitster@pobox.com> wrote:
>
>> I think the most generic way to think about this is to consider that
>> the most fully spelled form of align would be this:
>>
>>         %(align:width=12,position=left)
>>
>> And another rule you would have is that the user is allowed to omit
>> "<attr>=" when it is obvious from its value.  For "align", 'left'
>> can only possibly be the value for 'position' and similarly '12' for
>> 'width'.  That is why the "objectname" example says "abbrev=8", and
>> not "abbrev,8", because from the value of "8" without the attribute
>> name, you cannot tell if the user meant abbrev=8 or magic=8.
>>
>> That '"<attr>=" can be omitted' rule makes both of these valid
>> constructs:
>>
>>         %(align:12,left) %(align:left,12)
>>
>
> Are you sure you want it to be so flexible?
Eventually, yes.

But that does not mean you must do it by next week, and that is why I said "way to think about is to consider", not "way to design this is to implement".

In the worst case, if the only-allowed form the end-users can give were limited to "align:12,left" and "align:12" and "align:left,12" failed in the version you complete by the end of GSoC, it is still OK to ship it in 2.7, with a "known bugs" section for somebody (maybe you) to further polish in the future. As long as we leave the door open for such an enhancement that would not make what used to be valid invalid and only would allow what used to be invalid valid, we would be fine---we can make progress without harming existing users.

Previous: Karthik NayakNext: Eric Sunshine
Message 29 of 40 in “port tag.c to use ref-filter APIs”
  1. 00/13 port tag.c to use ref-filter APIsKarthik Nayak, Aug 9, 2015
  2. 01/13 ref-filter: move `struct atom_value` to ref-filter.cKarthik Nayak, Aug 9, 2015
  3. 02/13 ref-filter: print output to strbuf for formattingKarthik Nayak, Aug 9, 2015
  4. Junio C HamanoAug 11, 2015
  5. Karthik NayakAug 12, 2015
  6. Junio C HamanoAug 12, 2015
  7. Karthik NayakAug 12, 2015
  8. Junio C HamanoAug 11, 2015
  9. Karthik NayakAug 12, 2015
  10. 03/13 ref-filter: introduce ref_formatting_stateKarthik Nayak, Aug 9, 2015
  11. Junio C HamanoAug 11, 2015
  12. Karthik NayakAug 12, 2015
  13. 04/13 utf8: add function to align a string into given strbufKarthik Nayak, Aug 9, 2015
  14. Junio C HamanoAug 11, 2015
  15. Karthik NayakAug 12, 2015
  16. Junio C HamanoAug 12, 2015
  17. Karthik NayakAug 12, 2015
  18. Eric SunshineAug 13, 2015
  19. Karthik NayakAug 13, 2015
  20. Junio C HamanoAug 14, 2015
  21. Duy NguyenAug 15, 2015
  22. 05/13 ref-filter: implement an `align` atomKarthik Nayak, Aug 9, 2015
  23. Junio C HamanoAug 11, 2015
  24. Karthik NayakAug 12, 2015
  25. Junio C HamanoAug 12, 2015
  26. Karthik NayakAug 12, 2015
  27. Junio C HamanoAug 12, 2015
  28. Karthik NayakAug 14, 2015
  29. Junio C HamanoAug 14, 2015
  30. Eric SunshineAug 13, 2015
  31. Karthik NayakAug 13, 2015
  32. 06/13 ref-filter: add option to filter only tagsKarthik Nayak, Aug 9, 2015
  33. 07/13 ref-filter: support printing N lines from tag annotationKarthik Nayak, Aug 9, 2015
  34. 08/13 ref-filter: add support to sort by versionKarthik Nayak, Aug 9, 2015
  35. 09/13 ref-filter: add option to match literal patternKarthik Nayak, Aug 9, 2015
  36. 10/13 tag.c: use 'ref-filter' data structuresKarthik Nayak, Aug 9, 2015
  37. 10/13 tag.c: use 'ref-filter' data structuresKarthik Nayak, Aug 9, 2015
  38. 11/13 tag.c: use 'ref-filter' APIsKarthik Nayak, Aug 9, 2015
  39. 12/13 tag.c: implement '--format' optionKarthik Nayak, Aug 9, 2015
  40. 13/13 tag.c: implement '--merged' and '--no-merged' optionsKarthik Nayak, Aug 9, 2015

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.