mbox series

[0/6] git-compat-util cleanups

Message ID 20230516170932.1358685-1-calvinwan@google.com (mailing list archive)
Headers show
Series git-compat-util cleanups | expand

Message

Calvin Wan May 16, 2023, 5:09 p.m. UTC
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

Comments

Junio C Hamano May 16, 2023, 5:54 p.m. UTC | #1
Calvin Wan <calvinwan@google.com> writes:

> 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. 

This seems to have been based on 'master' around Apr 25th of this
year, like 0807e578 (Merge branch 'en/header-split-cache-h',
2023-04-25).  If this were written some time ago and have been
tested internally at $WORK or something, *not* rebasing on a later
tip of 'master' (which you did) is good, but at the same time, it
would be nice to hear on which commit the series is designed to be
applied.  To prepare for the start of the next cycle, however, it
may be even better to rebase it on the tip of more recent 'master'
and test it internally (again), and sending the result out as v2
would very much be appreciated ;-)

Thanks.
Calvin Wan May 16, 2023, 7 p.m. UTC | #2
On Tue, May 16, 2023 at 10:54 AM Junio C Hamano <gitster@pobox.com> wrote:

> This seems to have been based on 'master' around Apr 25th of this
> year, like 0807e578 (Merge branch 'en/header-split-cache-h',
> 2023-04-25).  If this were written some time ago and have been
> tested internally at $WORK or something, *not* rebasing on a later
> tip of 'master' (which you did) is good, but at the same time, it
> would be nice to hear on which commit the series is designed to be
> applied.  To prepare for the start of the next cycle, however, it
> may be even better to rebase it on the tip of more recent 'master'
> and test it internally (again), and sending the result out as v2
> would very much be appreciated ;-)

ok I'll go ahead and do that