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

[PATCH/WIP 00/19] Kill the_index, final part

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Oct 19, 2018, 14:52 UTC
Message-ID
<20181019145237.16079-1-pclouds@gmail.com>

Stefan I see you start removing more references of the_repository in another series (haven't really looked at it yet) so this is just heads up so we could coordinate if needed. Still WIP, not really ready for review yet.

This series removes use of the_index outside builtin/ and t/helper/. The only the_index reference left is in repository.c. The macro NO_THE_REPOSITORY_COMPATIBILITY_MACROS is now flipped to USE_THE_INDEX_COMPATIBILITY_MACROS. "the_index" is forbidden by default.

After this I think we can start pushing the_repository outside library code. Then perhaps clean them up in builtin code too and you can finally get rid of it. But I don't think that'll happen in a year's time.

Nguyễn Thái Ngọc Duy (19):
  wt-status.c: remove implicit dependency on the_index
  wt-status.c: remove implicit dependency the_repository
  list-objects-filter.c: remove implicit dependency on the_index
  list-objects.c: remove implicit dependency on the_index
  sequencer.c: remove implicit dependency on the_index
  sequencer.c: remove implicit dependency on the_repository
  notes-merge.c: remove implicit dependency on the_index
  notes-merge.c: remove implicit dependency the_repository
  repository.c: replace hold_locked_index() with repo_hold_locked_index()
  checkout: avoid the_index when possible
  read-cache.c: kill read_index()
  read-cache.c: replace update_index_if_able with repo_&
  transport.c: remove implicit dependency on the_index
  sha1-name.c: remove implicit dependency on the_index
  merge-recursive.c: remove implicit dependency on the_index
  merge-recursive.c: remove implicit dependency on the_repository
  read-cache.c: remove the_* from index_has_changes()
  cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch
  Flip NO_THE_REPOSITORY_COMPATIBILITY_MACROS
 apply.c                              |   5 +-
 attr.c                               |   1 -
 blame.c                              |   4 +-
 builtin/add.c                        |   1 +
 builtin/am.c                         |  11 +-
 builtin/blame.c                      |   3 +-
 builtin/cat-file.c                   |   7 +-
 builtin/check-attr.c                 |   1 +
 builtin/check-ignore.c               |   1 +
 builtin/checkout-index.c             |   1 +
 builtin/checkout.c                   |   5 +-
 builtin/clean.c                      |   1 +
 builtin/clone.c                      |   1 +
 builtin/commit.c                     |  10 +-
 builtin/describe.c                   |   3 +-
 builtin/diff-files.c                 |   1 +
 builtin/diff-index.c                 |   1 +
 builtin/diff-tree.c                  |   3 +-
 builtin/diff.c                       |   3 +-
 builtin/difftool.c                   |   1 +
 builtin/fsck.c                       |   1 +
 builtin/grep.c                       |   4 +-
 builtin/hash-object.c                |   3 +-
 builtin/log.c                        |   4 +-
 builtin/ls-files.c                   |   1 -
 builtin/merge-index.c                |   1 +
 builtin/merge-ours.c                 |   1 +
 builtin/merge-recursive.c            |   2 +-
 builtin/merge-tree.c                 |   3 +-
 builtin/merge.c                      |   5 +-
 builtin/mv.c                         |   1 +
 builtin/notes.c                      |   2 +-
 builtin/pack-objects.c               |   2 +-
 builtin/pull.c                       |   4 +-
 builtin/push.c                       |   3 +-
 builtin/read-tree.c                  |   1 +
 builtin/rebase--helper.c             |  15 +-
 builtin/replace.c                    |   2 +-
 builtin/reset.c                      |   1 +
 builtin/rev-parse.c                  |   4 +-
 builtin/revert.c                     |   6 +-
 builtin/rm.c                         |   1 +
 builtin/submodule--helper.c          |   1 +
 builtin/update-index.c               |   1 +
 builtin/write-tree.c                 |   1 +
 cache-tree.h                         |   2 +-
 cache.h                              |  35 +--
 convert.c                            |   1 -
 diff.h                               |   2 +-
 dir.c                                |   1 -
 git.c                                |   4 +-
 list-objects-filter-options.c        |   2 +-
 list-objects-filter.c                |   7 +-
 list-objects-filter.h                |   1 +
 list-objects.c                       |   3 +
 merge-recursive.c                    | 194 ++++++------
 merge-recursive.h                    |   6 +-
 merge.c                              |   4 +-
 name-hash.c                          |   1 -
 notes-merge.c                        |  16 +-
 notes-merge.h                        |   6 +-
 pathspec.c                           |   1 -
 preload-index.c                      |  11 +-
 read-cache.c                         |  44 ++-
 ref-filter.c                         |   2 +-
 repository.c                         |   9 +
 repository.h                         |  16 +
 rerere.c                             |   8 +-
 rerere.h                             |   2 +-
 revision.c                           |  12 +-
 revision.h                           |   2 +-
 sequencer.c                          | 435 +++++++++++++++------------
 sequencer.h                          |  27 +-
 sha1-name.c                          |  56 ++--
 submodule.c                          |   1 -
 t/helper/test-dump-fsmonitor.c       |   4 +-
 t/helper/test-dump-untracked-cache.c |   1 +
 t/helper/test-tool.h                 |   1 +
 transport.c                          |   7 +-
 transport.h                          |   3 +-
 tree.c                               |   1 -
 unpack-trees.c                       |   1 -
 wt-status.c                          |  97 +++---
 wt-status.h                          |  21 +-
 84 files changed, 673 insertions(+), 508 deletions(-)
-- 
2.19.1.647.g708186aaf9
Next: Nguyễn Thái Ngọc Duy
Message 1 of 22 in “Kill the_index, final part”
  1. 00/19 Kill the_index, final partNguyễn Thái Ngọc Duy, Oct 19, 2018
  2. 01/19 wt-status.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Oct 19, 2018
  3. 02/19 wt-status.c: remove implicit dependency the_repositoryNguyễn Thái Ngọc Duy, Oct 19, 2018
  4. 03/19 list-objects-filter.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Oct 19, 2018
  5. 04/19 list-objects.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Oct 19, 2018
  6. 06/19 sequencer.c: remove implicit dependency on the_repositoryNguyễn Thái Ngọc Duy, Oct 19, 2018
  7. 05/19 sequencer.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Oct 19, 2018
  8. 08/19 notes-merge.c: remove implicit dependency the_repositoryNguyễn Thái Ngọc Duy, Oct 19, 2018
  9. 07/19 notes-merge.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Oct 19, 2018
  10. 09/19 repository.c: replace hold_locked_index() with repo_hold_locked_index()Nguyễn Thái Ngọc Duy, Oct 19, 2018
  11. 10/19 checkout: avoid the_index when possibleNguyễn Thái Ngọc Duy, Oct 19, 2018
  12. 12/19 read-cache.c: replace update_index_if_able with repo_&Nguyễn Thái Ngọc Duy, Oct 19, 2018
  13. 13/19 transport.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Oct 19, 2018
  14. 11/19 read-cache.c: kill read_index()Nguyễn Thái Ngọc Duy, Oct 19, 2018
  15. 14/19 sha1-name.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Oct 19, 2018
  16. 16/19 merge-recursive.c: remove implicit dependency on the_repositoryNguyễn Thái Ngọc Duy, Oct 19, 2018
  17. 15/19 merge-recursive.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Oct 19, 2018
  18. 17/19 read-cache.c: remove the_* from index_has_changes()Nguyễn Thái Ngọc Duy, Oct 19, 2018
  19. 19/19 Flip NO_THE_REPOSITORY_COMPATIBILITY_MACROSNguyễn Thái Ngọc Duy, Oct 19, 2018
  20. 18/19 cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switchNguyễn Thái Ngọc Duy, Oct 19, 2018
  21. Stefan BellerOct 19, 2018
  22. Duy NguyenOct 29, 2018

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.