(Please ignore v1 which contains unrelated patches) I lied about part 5 being final. This series contains most of my WIP series [2] except sha1-name.c, read-cache.c and merge-recursive.c because there will be conflicts on 'pu' so they will be in part 6. At least this only results in two small conflicts in sequencer.c. I did start pushing the_repository out of library code [1] in the bottom half of this series. There aren't big surprises except that cache-tree API now take _both_ struct repository and struct index_state. The reason is cache-tree can work on temporary indexes and repo->index is about $GIT_DIR/index. [1] Stefan and I make a good team. He keeps adding the_repository. I keep removing. We both hold hands leading commit counts (with Brian just a bit behind frantically replacing sha1 with oid to keep up). Meanwhile Junio is crying in the corner because of too many conflicts. :-D [2] https://public-inbox.org/git/20181019145237.16079-1-pclouds@xxxxxxxxx/ Nguyễn Thái Ngọc Duy (22): 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: reduce the_repository references notes-merge.c: remove implicit dependency on the_index notes-merge.c: remove implicit dependency the_repository transport.c: remove implicit dependency on the_index sequencer.c: remove implicit dependency on the_index sequencer.c: remove implicit dependency on the_repository blame.c: remove implicit dependency the_repository bisect.c: remove the_repository reference branch.c: remove the_repository reference bundle.c: remove the_repository references cache-tree.c: remove the_repository references delta-islands.c: remove the_repository references diff-lib.c: remove the_repository references line-log.c: remove the_repository reference notes-cache.c: remove the_repository references pack-check.c: remove the_repository references pack-*.c: remove the_repository references rerere.c: remove the_repository references rebase-interactive.c: remove the_repository references bisect.c | 48 ++-- bisect.h | 5 +- blame.c | 39 +-- branch.c | 21 +- branch.h | 8 +- builtin/am.c | 4 +- builtin/bisect--helper.c | 2 +- builtin/branch.c | 6 +- builtin/bundle.c | 7 +- builtin/checkout.c | 5 +- builtin/commit.c | 8 +- builtin/fsck.c | 3 +- builtin/merge-ours.c | 2 +- builtin/merge.c | 2 +- builtin/notes.c | 2 +- builtin/pack-objects.c | 6 +- builtin/pull.c | 3 +- builtin/push.c | 3 +- builtin/read-tree.c | 4 +- builtin/rebase--interactive.c | 19 +- builtin/rebase.c | 13 +- builtin/rerere.c | 10 +- builtin/reset.c | 4 +- builtin/revert.c | 8 +- bundle.c | 26 +- bundle.h | 9 +- cache-tree.c | 26 +- cache-tree.h | 4 +- combine-diff.c | 2 +- delta-islands.c | 24 +- delta-islands.h | 9 +- diff-lib.c | 7 +- diff.c | 12 +- diff.h | 5 +- diffcore-pickaxe.c | 4 +- grep.c | 2 +- line-log.c | 2 +- list-objects-filter.c | 10 +- list-objects-filter.h | 2 + list-objects.c | 13 +- notes-cache.c | 12 +- notes-cache.h | 6 +- notes-merge.c | 16 +- notes-merge.h | 5 +- pack-bitmap-write.c | 6 +- pack-bitmap.c | 13 +- pack-bitmap.h | 3 +- pack-check.c | 9 +- pack-objects.c | 6 +- pack-objects.h | 5 +- pack.h | 4 +- read-cache.c | 2 +- rebase-interactive.c | 6 +- rebase-interactive.h | 5 +- ref-filter.c | 2 +- rerere.c | 26 +- rerere.h | 6 +- sequencer.c | 453 +++++++++++++++++++--------------- sequencer.h | 27 +- transport.c | 9 +- transport.h | 3 +- unpack-trees.c | 2 +- userdiff.c | 5 +- userdiff.h | 4 +- wt-status.c | 94 ++++--- wt-status.h | 21 +- 66 files changed, 650 insertions(+), 489 deletions(-) -- 2.19.1.1231.g84aef82467