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

Re: [PATCH v2 9/9] sha1_name.c: get_describe_name() by definition groks only commits

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 21, 2012, 19:57 UTC
Message-ID
<7v1ul8sajk.fsf@alter.siamese.dyndns.org>
In-Reply-To
<CABPQNSZ246Y80WJN+u2OR8_3KWE_1=8F6WbTgVX-8wqyecGPkg@mail.gmail.com>
Erik Faye-Lund <kusmabite@gmail.com> writes:
Show 27 quoted lines
> On Thu, Jun 21, 2012 at 8:35 AM, Junio C Hamano <gitster@pobox.com> wrote:
>> Signed-off-by: Junio C Hamano <gitster@pobox.com>
>> ---
>>  sha1_name.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/sha1_name.c b/sha1_name.c
>> index 58dbbe2..15e97eb 100644
>> --- a/sha1_name.c
>> +++ b/sha1_name.c
>> @@ -606,6 +606,7 @@ static int peel_onion(const char *name, int len, unsigned char *sha1)
>>  static int get_describe_name(const char *name, int len, unsigned char *sha1)
>>  {
>>        const char *cp;
>> +       unsigned flags = GET_SHORT_QUIETLY | GET_SHORT_COMMIT_ONLY;
>>
>>        for (cp = name + len - 1; name + 2 <= cp; cp--) {
>>                char ch = *cp;
>> @@ -616,7 +617,7 @@ static int get_describe_name(const char *name, int len, unsigned char *sha1)
>>                        if (ch == 'g' && cp[-1] == '-') {
>>                                cp++;
>>                                len -= cp - name;
>> -                               return get_short_sha1(cp, len, sha1, GET_SHORT_QUIETLY);
>> +                               return get_short_sha1(cp, len, sha1, flags);
>
> Is there a reason why you chose to put the definition in the
> root-scope of the function?

Mostly because it never changes inside the loop. "unsigned const flags" upfront might have even been a better option, though.

A less important reason is it would make the resulting file wider, not narrower, than the original.

Previous: Erik Faye-Lund
Message 12 of 12 in “Extending the shelf-life of "git describe" output”
  1. 0/9 Extending the shelf-life of "git describe" outputJunio C Hamano, Jun 21, 2012
  2. 1/9 sha1_name.c: indentation fixJunio C Hamano, Jun 21, 2012
  3. 2/9 sha1_name.c: clarify what "fake" is for in find_short_object_filename()Junio C Hamano, Jun 21, 2012
  4. 3/9 sha1_name.c: rename "now" to "current"Junio C Hamano, Jun 21, 2012
  5. 4/9 sha1_name.c: refactor find_short_packed_object()Junio C Hamano, Jun 21, 2012
  6. 5/9 sha1_name.c: correct misnamed "canonical" and "res"Junio C Hamano, Jun 21, 2012
  7. 6/9 sha1_name.c: restructure disambiguation of short namesJunio C Hamano, Jun 21, 2012
  8. 7/9 sha1_name.c: allow get_short_sha1() to take other flagsJunio C Hamano, Jun 21, 2012
  9. 8/9 sha1_name.c: teach get_short_sha1() a commit-only optionJunio C Hamano, Jun 21, 2012
  10. 9/9 sha1_name.c: get_describe_name() by definition groks only commitsJunio C Hamano, Jun 21, 2012
  11. Erik Faye-LundJun 21, 2012
  12. Junio C HamanoJun 21, 2012

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.