Re: [PATCH/WIP 00/19] Kill the_index, final part
On Fri, Oct 19, 2018 at 7:38 PM Stefan Beller wrote: > > On Fri, Oct 19, 2018 at 7:52 AM Nguyễn Thái Ngọc Duy > wrote: > > > > 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. > > I'll take a brief look anyway, otherwise you wouldn't have put in on > a mailing list :-P Thanks. Just fyi. Since there are still plenty conflicts when merging this with 'pu', I'll just wait until things settle a bit in 'master' before resending. -- Duy
Re: [PATCH/WIP 00/19] Kill the_index, final part
On Fri, Oct 19, 2018 at 7:52 AM Nguyễn Thái Ngọc Duy wrote: > > 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. I'll take a brief look anyway, otherwise you wouldn't have put in on a mailing list :-P Yes, coordination would be good; stolee brought up a good point regarding testing these changes. Killing of the index in itself can be just tested by checking if behavior stays the same, but killing of the_repository is a slightly different beast, as it relates to submodules, which means any global state that is still around, need to go into the repository struct (we might have missed some there, whereas the index struct has been around for a long time). > 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. Wow, that is really cool. Looking forward for the patches. :-) > 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. That sounds realistic. Stefan
[PATCH/WIP 00/19] Kill the_index, final part
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