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

Re: [PATCH 28/29] blame: move scoreboard setup to libgit

From
Jeffrey Smith <whydoubt@gmail.com>
Date
May 25, 2017, 12:56 UTC
Message-ID
<CAPX7N=7b_Ett_h-NM9okxdQV8+bvOjbVWF1fY5_GwiGkqVhwEg@mail.gmail.com>
In-Reply-To
<xmqqfufteb2i.fsf@gitster.mtv.corp.google.com>

I had meant to change the name to match what is in find_single_final. While the intent was for it to change while in builtin/blame.c, apparently I missed that in the shuffle.

On Thu, May 25, 2017 at 12:53 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 82 quoted lines
> Jeff Smith <whydoubt@gmail.com> writes:
>
>> Signed-off-by: Jeff Smith <whydoubt@gmail.com>
>> ---
>>  blame.c         | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
>>  blame.h         |  10 +-
>>  builtin/blame.c | 276 -------------------------------------------------------
>>  3 files changed, 281 insertions(+), 284 deletions(-)
>>
>> ...
>> +static struct commit *find_single_initial(struct rev_info *revs,
>> +                                       const char **name_p)
>> +{
>> +     int i;
>> +     struct commit *found = NULL;
>> +     const char *name = NULL;
>> +
>> +     /*
>> +      * There must be one and only one negative commit, and it must be
>> +      * the boundary.
>> +      */
>> +     for (i = 0; i < revs->pending.nr; i++) {
>> +             struct object *obj = revs->pending.objects[i].item;
>> +             if (!(obj->flags & UNINTERESTING))
>> +                     continue;
>> +             obj = deref_tag(obj, NULL, 0);
>> +             if (obj->type != OBJ_COMMIT)
>> +                     die("Non commit %s?", revs->pending.objects[i].name);
>> +             if (found)
>> +                     die("More than one commit to dig up from, %s and %s?",
>> +                         revs->pending.objects[i].name, name);
>> +             found = (struct commit *) obj;
>> +             name = revs->pending.objects[i].name;
>> +     }
>> +
>> +     if (!name)
>> +             found = dwim_reverse_initial(revs, &name);
>> +     if (!name)
>> +             die("No commit to dig up from?");
>> +
>> +     if (name_p)
>> +             *name_p = name;
>> +     return found;
>> +}
>> +...
>> -static struct commit *find_single_initial(struct rev_info *revs,
>> -                                       const char **name_p)
>> -{
>> -     int i;
>> -     const char *final_commit_name = NULL;
>> -     struct commit *found = NULL;
>> -
>> -...
>> -
>> -     if (!final_commit_name)
>> -             found = dwim_reverse_initial(revs, &final_commit_name);
>> -     if (!final_commit_name)
>> -             die("No commit to dig up from?");
>> -
>> -     if (name_p)
>> -             *name_p = final_commit_name;
>> -     return found;
>> -}
>
>
> In a patch whose primary purpose is to move code between files,
> making what used to be public to static and vice versa is an
> integral part of moving code.  That is why we want to see a patch
> organized in such a way that comparing the lines that are lost from
> builtin/blame.c and the lines that are added to blame.[ch] is made
> easy.
>
> And from that point of view, it was somewhat irritating to find this
> kind of meaningless change.  If you didn't like the name of the
> variable "final-commit-name", that shold have been renamed while the
> code was still in builtin/blame.c
>
> The end result looks OK anyway (I've checked 29/29 as well).
>
> Thanks.
>
>
Previous: Junio C HamanoNext: Jeff Smith
Message 29 of 39 in “Add blame to libgit”
  1. 00/29 Add blame to libgitJeff Smith, May 24, 2017
  2. 01/29 blame: remove unneeded dependency on blob.hJeff Smith, May 24, 2017
  3. 03/29 blame: remove unused parametersJeff Smith, May 24, 2017
  4. 02/29 blame: move textconv_object with related functionsJeff Smith, May 24, 2017
  5. 04/29 blame: rename origin structure to blame_originJeff Smith, May 24, 2017
  6. 05/29 blame: rename scoreboard structure to blame_scoreboardJeff Smith, May 24, 2017
  7. 06/29 blame: rename origin-related functionsJeff Smith, May 24, 2017
  8. 10/29 blame: move stat counters to scoreboardJeff Smith, May 24, 2017
  9. 11/29 blame: move copy/move thresholds to scoreboardJeff Smith, May 24, 2017
  10. 14/29 blame: move show_root flag to scoreboardJeff Smith, May 24, 2017
  11. 13/29 blame: move reverse flag to scoreboardJeff Smith, May 24, 2017
  12. 12/29 blame: move contents_from to scoreboardJeff Smith, May 24, 2017
  13. 09/29 blame: rename nth_line functionJeff Smith, May 24, 2017
  14. 19/29 blame: wrap blame_sort and compare_blame_finalJeff Smith, May 24, 2017
  15. 16/29 blame: move no_whole_file_rename flag to scoreboardJeff Smith, May 24, 2017
  16. 07/29 blame: rename coalesce functionJeff Smith, May 24, 2017
  17. 23/29 blame: create entry prepend functionJeff Smith, May 24, 2017
  18. Junio C HamanoMay 25, 2017
  19. 24/29 blame: move core structures to headerJeff Smith, May 24, 2017
  20. Junio C HamanoMay 25, 2017
  21. 21/29 blame: create scoreboard init functionJeff Smith, May 24, 2017
  22. 26/29 blame: move fake-commit-related methods to libgitJeff Smith, May 24, 2017
  23. 22/29 blame: create scoreboard setup functionJeff Smith, May 24, 2017
  24. Junio C HamanoMay 25, 2017
  25. 27/29 blame: move scoreboard-related methods to libgitJeff Smith, May 24, 2017
  26. 25/29 blame: move origin-related methods to libgitJeff Smith, May 24, 2017
  27. 28/29 blame: move scoreboard setup to libgitJeff Smith, May 24, 2017
  28. Junio C HamanoMay 25, 2017
  29. Jeffrey SmithMay 25, 2017
  30. 18/29 blame: move progess updates to a scoreboard callbackJeff Smith, May 24, 2017
  31. Junio C HamanoMay 25, 2017
  32. 17/29 blame: make sanity_check use a callback in scoreboardJeff Smith, May 24, 2017
  33. 29/29 blame: move entry prepend to libgitJeff Smith, May 24, 2017
  34. 20/29 blame: rework methods that determine 'final' commitJeff Smith, May 24, 2017
  35. Junio C HamanoMay 25, 2017
  36. 15/29 blame: move xdl_opts flags to scoreboardJeff Smith, May 24, 2017
  37. 08/29 blame: rename ent_score functionJeff Smith, May 24, 2017
  38. Junio C HamanoMay 24, 2017
  39. Junio C HamanoMay 25, 2017

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.