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

[PATCH 0/6] git-compat-util cleanups

From
Calvin Wan <calvinwan@google.com>
Date
May 16, 2023, 17:09 UTC
Message-ID
<20230516170932.1358685-1-calvinwan@google.com>

This series focuses on cleaning up and reducing the scope of git-compat-util.h by moving headers to their respective files and separating out functionality from git-compat-util.h to a new file, common.h. I go into more detail in patch 3 as to why I believe this separation is useful.

By the end of this series, git-compat-util.h includes common.h which includes wrapper.h and usage.h. Since virtually every file includes git-compat-util.h and the large majority of files use functions defined in common.h, wrapper.h, and usage.h, I believe it makes sense that those are also automatically included with git-compat-util.h.

While this series does not intend to draw clearer boundaries for common.h, I am open to ideas for how it can be cleaned up more and if there is a better name for the file.

Calvin Wan (6):
  strbuf.h: move declarations for strbuf.c functions from
    git-compat-util.h
  wrapper.h: move declarations for wrapper.c functions from
    git-compat-util.h
  common.h: move non-compat specific macros and functions from
    git-compat-util.h
  usage.h: move declarations for usage.c functions from
    git-compat-util.h
  treewide: remove unnecessary includes for wrapper.h
  common: move alloc macros to common.h
 add-patch.c                        |   1 -
 alias.c                            |   1 -
 alloc.h                            |  75 ----
 apply.c                            |   2 -
 archive-tar.c                      |   1 -
 archive.c                          |   1 -
 attr.c                             |   1 -
 builtin/am.c                       |   1 -
 builtin/bisect.c                   |   1 -
 builtin/blame.c                    |   1 -
 builtin/branch.c                   |   1 -
 builtin/bugreport.c                |   1 -
 builtin/cat-file.c                 |   1 -
 builtin/checkout--worker.c         |   1 -
 builtin/clone.c                    |   1 -
 builtin/config.c                   |   2 -
 builtin/credential-cache--daemon.c |   1 -
 builtin/credential-cache.c         |   1 -
 builtin/difftool.c                 |   1 -
 builtin/fast-import.c              |   1 -
 builtin/fetch-pack.c               |   1 -
 builtin/fmt-merge-msg.c            |   1 -
 builtin/fsmonitor--daemon.c        |   1 -
 builtin/gc.c                       |   1 -
 builtin/get-tar-commit-id.c        |   1 -
 builtin/grep.c                     |   1 -
 builtin/index-pack.c               |   2 -
 builtin/init-db.c                  |   1 -
 builtin/log.c                      |   1 -
 builtin/merge.c                    |   2 -
 builtin/mktree.c                   |   1 -
 builtin/mv.c                       |   1 -
 builtin/name-rev.c                 |   1 -
 builtin/pack-objects.c             |   2 -
 builtin/rebase.c                   |   1 -
 builtin/receive-pack.c             |   1 -
 builtin/repack.c                   |   1 -
 builtin/rerere.c                   |   1 -
 builtin/rev-parse.c                |   1 -
 builtin/revert.c                   |   1 -
 builtin/rm.c                       |   1 -
 builtin/submodule--helper.c        |   1 -
 builtin/unpack-file.c              |   1 -
 builtin/worktree.c                 |   1 -
 bulk-checkin.c                     |   2 -
 cache-tree.c                       |   1 -
 chunk-format.c                     |   1 -
 combine-diff.c                     |   1 -
 commit-graph.c                     |   1 -
 commit-reach.c                     |   1 -
 common.h                           | 551 ++++++++++++++++++++++++
 compat/terminal.c                  |   1 -
 config.c                           |   2 -
 convert.c                          |   1 -
 copy.c                             |   1 -
 csum-file.c                        |   1 -
 daemon.c                           |   2 -
 delta-islands.c                    |   1 -
 diff.c                             |   2 -
 diffcore-rename.c                  |   1 -
 dir-iterator.c                     |   1 -
 dir.c                              |   2 -
 editor.c                           |   1 -
 entry.c                            |   1 -
 environment.c                      |   1 -
 ewah/bitmap.c                      |   1 -
 ewah/ewah_bitmap.c                 |   1 -
 fetch-pack.c                       |   2 -
 fmt-merge-msg.c                    |   1 -
 fsck.c                             |   1 -
 git-compat-util.h                  | 664 +----------------------------
 gpg-interface.c                    |   1 -
 grep.c                             |   1 -
 help.c                             |   1 -
 http-backend.c                     |   2 -
 imap-send.c                        |   1 -
 line-log.c                         |   1 -
 list-objects-filter-options.c      |   1 -
 list-objects-filter.c              |   1 -
 ll-merge.c                         |   1 -
 merge-recursive.c                  |   1 -
 midx.c                             |   1 -
 notes-merge.c                      |   1 -
 object-file.c                      |   2 -
 oid-array.c                        |   1 -
 oidtree.c                          |   1 -
 pack-bitmap-write.c                |   1 -
 pack-bitmap.c                      |   1 -
 pack-objects.c                     |   1 -
 pack-write.c                       |   1 -
 packfile.c                         |   2 -
 parallel-checkout.c                |   2 -
 path.c                             |   1 -
 pkt-line.c                         |   1 -
 pretty.c                           |   1 -
 prio-queue.c                       |   1 -
 quote.c                            |   1 -
 read-cache.c                       |   2 -
 rebase-interactive.c               |   1 -
 ref-filter.c                       |   1 -
 reflog-walk.c                      |   1 -
 refs.c                             |   2 -
 refspec.c                          |   1 -
 remote-curl.c                      |   1 -
 remote.c                           |   1 -
 rerere.c                           |   2 -
 revision.c                         |   1 -
 send-pack.c                        |   1 -
 sequencer.c                        |   2 -
 server-info.c                      |   2 -
 setup.c                            |   1 -
 shallow.c                          |   2 -
 sigchain.c                         |   1 -
 sparse-index.c                     |   1 -
 split-index.c                      |   1 -
 strbuf.c                           |   2 -
 strbuf.h                           |  32 ++
 streaming.c                        |   1 -
 string-list.c                      |   1 -
 strvec.c                           |   1 -
 submodule-config.c                 |   1 -
 submodule.c                        |   1 -
 t/helper/test-delta.c              |   1 -
 t/helper/test-fsmonitor-client.c   |   1 -
 t/helper/test-reach.c              |   1 -
 t/helper/test-read-cache.c         |   1 -
 tag.c                              |   1 -
 tempfile.c                         |   1 -
 trace.c                            |   1 -
 trace2/tr2_tls.c                   |   1 -
 trailer.c                          |   1 -
 transport-helper.c                 |   1 -
 transport.c                        |   2 -
 tree-walk.c                        |   1 -
 upload-pack.c                      |   1 -
 usage.c                            |   1 -
 usage.h                            |  60 +++
 userdiff.c                         |   1 -
 worktree.c                         |   2 -
 wrapper.c                          |   1 -
 wrapper.h                          | 111 +++++
 write-or-die.c                     |   1 -
 142 files changed, 756 insertions(+), 897 deletions(-)
 create mode 100644 common.h
 create mode 100644 usage.h
-- 
2.40.1.606.ga4b1b128d6-goog
Next: Calvin Wan
Message 1 of 56 in “git-compat-util cleanups”
  1. 0/6 git-compat-util cleanupsCalvin Wan, May 16, 2023
  2. 1/6 strbuf.h: move declarations for strbuf.c functions from git-compat-util.hCalvin Wan, May 16, 2023
  3. Junio C HamanoMay 16, 2023
  4. 2/6 wrapper.h: move declarations for wrapper.c functions from git-compat-util.hCalvin Wan, May 16, 2023
  5. Junio C HamanoMay 16, 2023
  6. 3/6 common.h: move non-compat specific macros and functions from git-compat-util.hCalvin Wan, May 16, 2023
  7. Junio C HamanoMay 16, 2023
  8. Calvin WanMay 17, 2023
  9. 4/6 usage.h: move declarations for usage.c functions from git-compat-util.hCalvin Wan, May 16, 2023
  10. 5/6 treewide: remove unnecessary includes for wrapper.hCalvin Wan, May 16, 2023
  11. 6/6 common: move alloc macros to common.hCalvin Wan, May 16, 2023
  12. Junio C HamanoMay 16, 2023
  13. Calvin WanMay 16, 2023
  14. 0/7 git-compat-util cleanupsCalvin Wan, May 23, 2023
  15. 1/7 strbuf.h: move declarations for strbuf.c functions from git-compat-util.hCalvin Wan, May 23, 2023
  16. Jonathan TanMay 26, 2023
  17. 2/7 wrapper.h: move declarations for wrapper.c functions from git-compat-util.hCalvin Wan, May 23, 2023
  18. Jonathan TanMay 26, 2023
  19. 3/7 sane-ctype.h: move sane-ctype macros from git-compat-util.hCalvin Wan, May 23, 2023
  20. Jonathan TanMay 26, 2023
  21. Phillip WoodMay 28, 2023
  22. Jonathan TanMay 30, 2023
  23. Junio C HamanoJun 1, 2023
  24. 5/7 usage.h: move declarations for usage.c functions from git-compat-util.hCalvin Wan, May 23, 2023
  25. 4/7 common.h: move non-compat specific macros and functions from git-compat-util.hCalvin Wan, May 23, 2023
  26. 6/7 treewide: remove unnecessary includes for wrapper.hCalvin Wan, May 23, 2023
  27. 7/7 common: move alloc macros to common.hCalvin Wan, May 23, 2023
  28. Jonathan TanMay 26, 2023
  29. Jonathan TanMay 26, 2023
  30. 0/8 git-compat-util cleanupsCalvin Wan, Jun 6, 2023
  31. 1/8 git-compat-util: move strbuf.c funcs to its headerCalvin Wan, Jun 6, 2023
  32. 2/8 git-compat-util: move wrapper.c funcs to its headerCalvin Wan, Jun 6, 2023
  33. 3/8 sane-ctype.h: create header for sane-ctype macrosCalvin Wan, Jun 6, 2023
  34. 4/8 kwset: move translation table from ctypeCalvin Wan, Jun 6, 2023
  35. 5/8 common.h: move non-compat specific macros and functionsCalvin Wan, Jun 6, 2023
  36. Ramsay JonesJun 6, 2023
  37. Calvin WanJun 7, 2023
  38. Junio C HamanoJun 12, 2023
  39. Calvin WanJun 13, 2023
  40. Junio C HamanoJun 13, 2023
  41. Calvin WanJun 14, 2023
  42. 6/8 git-compat-util: move usage.c funcs to its headerCalvin Wan, Jun 6, 2023
  43. 7/8 treewide: remove unnecessary includes for wrapper.hCalvin Wan, Jun 6, 2023
  44. 8/8 common: move alloc macros to common.hCalvin Wan, Jun 6, 2023
  45. 0/6 git-compat-util cleanupsCalvin Wan, Jun 30, 2023
  46. 1/6 git-compat-util: move strbuf.c funcs to its headerCalvin Wan, Jun 30, 2023
  47. 2/6 git-compat-util: move wrapper.c funcs to its headerCalvin Wan, Jun 30, 2023
  48. 3/6 sane-ctype.h: create header for sane-ctype macrosCalvin Wan, Jun 30, 2023
  49. 4/6 kwset: move translation table from ctypeCalvin Wan, Jun 30, 2023
  50. 5/6 treewide: remove unnecessary includes for wrapper.hCalvin Wan, Jun 30, 2023
  51. 6/6 common: move alloc macros to common.hCalvin Wan, Jun 30, 2023
  52. Junio C HamanoJun 30, 2023
  53. Calvin WanJul 5, 2023
  54. Junio C HamanoJul 5, 2023
  55. Calvin WanJul 5, 2023
  56. Junio C HamanoJun 30, 2023

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.