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

[PATCH v4 0/2] [GSOC][RFC] ref-filter: introduce enum atom_type

From
ZheNing Hu via GitGitGadget <gitgitgadget@gmail.com>
Date
May 13, 2021, 15:15 UTC
Message-ID
<pull.951.v4.git.1620918939.gitgitgadget@gmail.com>
In-Reply-To
<pull.951.v3.git.1620821464.gitgitgadget@gmail.com>

Change from last version: fix some typo error and change commit message with Junio's help.

ZheNing Hu (2):
  [GSOC] ref-filter: add objectsize to used_atom
  [GSOC] ref-filter: introduce enum atom_type
 ref-filter.c | 214 +++++++++++++++++++++++++++++++++------------------
 1 file changed, 140 insertions(+), 74 deletions(-)
base-commit: 7e391989789db82983665667013a46eabc6fc570
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-951%2Fadlternative%2Fref-filter-atom-type-v4
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-951/adlternative/ref-filter-atom-type-v4
Pull-Request: https://github.com/gitgitgadget/git/pull/951
Range-diff vs v3:
 1:  91ca57c9d04a ! 1:  23fc04f7eb23 [GSOC] ref-filter: add objectsize to used_atom
     @@ Metadata
       ## Commit message ##
          [GSOC] ref-filter: add objectsize to used_atom
      
     -    Since "objectsize:size" is composed of two parts,
     -    "type:attribute". However, the original implementation
     -    did not decouple the two parts "type" and "attribute" well,
     -    we still need to judge separately whether the atom is
     -    "objectsize" or "objectsize:disk" in `grab_common_values()`.
     +    When the support for "objectsize:disk" was bolted onto the
     +    existing support for "objectsize", it didn't follow the
     +    usual pattern for handling "atomtype:modifier", which reads
     +    the <modifier> part just once while parsing the format
     +    string, and store the parsed result in the union in the
     +    used_atom structure, so that the string form of it does not
     +    have to be parsed over and over at runtime (e.g. in
     +    grab_common_values()).
      
          Add a new member `objectsize` to the union `used_atom.u`,
     -    so that we can separate the judgment of atom type from the
     -    judgment of atom attribute, This will bring scalability to
     -    atom `%(objectsize)`.
     +    so that we can separate the check of <modifier> from the
     +    check of <atomtype>, this will bring scalability to atom
     +    `%(objectsize)`.
      
          Signed-off-by: ZheNing Hu <adlternative@gmail.com>
      
 2:  43400cac58e7 ! 2:  50cfe1f0c6c1 [GSOC] ref-filter: introduce enum atom_type
     @@ Commit message
          `used_atom.atom_type` will record corresponding enum value
          from valid_atom entry index, and then in specific reference
          attribute filling step, only need to compare the value of
     -    the `used_atom[i].atom_type` to judge the atom type.
     +    the `used_atom[i].atom_type` to check the atom type.
      
          Helped-by: Junio C Hamano <gitster@pobox.com>
          Helped-by: Christian Couder <christian.couder@gmail.com>
     @@ ref-filter.c: static struct ref_to_worktree_map {
       } ref_to_worktree_map;
       
      +/*
     -+ * The enum atom_type is used as the coordinates of valid_atom entry.
     ++ * The enum atom_type is used as the index of valid_atom array.
      + * In the atom parsing stage, it will be passed to used_atom.atom_type
     -+ * as the identifier of the atom type. We can judge the type of used_atom
     ++ * as the identifier of the atom type. We can check the type of used_atom
      + * entry by `if (used_atom[i].atom_type == ATOM_*)`.
      + */
      +enum atom_type {
-- 
gitgitgadget
Previous: ZheNing HuNext: ZheNing Hu via GitGitGadget
Message 25 of 27 in “[GSOC][RFC] ref-filter: introduce enum atom_type”
  1. 0/2 [GSOC][RFC] ref-filter: introduce enum atom_typeZheNing Hu via GitGitGadget, May 8, 2021
  2. 1/2 [GSOC] ref-filter: add objectsize to used_atomZheNing Hu via GitGitGadget, May 8, 2021
  3. 2/2 [GSOC][RFC] ref-filter: introduce enum atom_typeZheNing Hu via GitGitGadget, May 8, 2021
  4. Christian CouderMay 9, 2021
  5. Junio C HamanoMay 9, 2021
  6. ZheNing HuMay 9, 2021
  7. ZheNing HuMay 9, 2021
  8. 0/2 [GSOC][RFC] ref-filter: introduce enum atom_typeZheNing Hu via GitGitGadget, May 10, 2021
  9. 1/2 [GSOC] ref-filter: add objectsize to used_atomZheNing Hu via GitGitGadget, May 10, 2021
  10. 2/2 [GSOC] ref-filter: introduce enum atom_typeZheNing Hu via GitGitGadget, May 10, 2021
  11. Junio C HamanoMay 11, 2021
  12. Christian CouderMay 11, 2021
  13. Junio C HamanoMay 11, 2021
  14. ZheNing HuMay 11, 2021
  15. ZheNing HuMay 11, 2021
  16. Junio C HamanoMay 11, 2021
  17. ZheNing HuMay 11, 2021
  18. 0/2 [GSOC][RFC] ref-filter: introduce enum atom_typeZheNing Hu via GitGitGadget, May 12, 2021
  19. 1/2 [GSOC] ref-filter: add objectsize to used_atomZheNing Hu via GitGitGadget, May 12, 2021
  20. Junio C HamanoMay 12, 2021
  21. ZheNing HuMay 13, 2021
  22. 2/2 [GSOC] ref-filter: introduce enum atom_typeZheNing Hu via GitGitGadget, May 12, 2021
  23. Junio C HamanoMay 12, 2021
  24. ZheNing HuMay 13, 2021
  25. 0/2 [GSOC][RFC] ref-filter: introduce enum atom_typeZheNing Hu via GitGitGadget, May 13, 2021
  26. 1/2 [GSOC] ref-filter: add objectsize to used_atomZheNing Hu via GitGitGadget, May 13, 2021
  27. 2/2 [GSOC] ref-filter: introduce enum atom_typeZheNing Hu via GitGitGadget, May 13, 2021

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.