From: Brandon Williams <bmwill@google.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jonathan Nieder <jrnieder@gmail.com>,
Duy Nguyen <pclouds@gmail.com>,
Stefan Beller <sbeller@google.com>,
Git Mailing List <git@vger.kernel.org>
Subject: Re: [PATCH 0/5] Start of a journey: drop NO_THE_INDEX_COMPATIBILITY_MACROS
Date: Fri, 5 May 2017 10:29:56 -0700 [thread overview]
Message-ID: <20170505172956.GB55152@google.com> (raw)
In-Reply-To: <xmqq8tmb8bhu.fsf@gitster.mtv.corp.google.com>
On 05/05, Junio C Hamano wrote:
> Jonathan Nieder <jrnieder@gmail.com> writes:
>
> > That is, one way to do what this series attempts would be the
> > following:
> >
> > 1. rename variables that shadow the_index.
>
> No question about this one. It is a good thing to do.
>
> > 2. add coccinelle patches (or one coccinelle patch) to
> > contrib/coccinelle implementing *_cache -> *_index migration.
> > Is there a way to do this without making it fail "make coccicheck"?
>
> Quite honestly, I do not see much value in this, but take it merely
> as my knee-jerk reaction. The only scenario I can think of in which
> dropping *_cache() macros is an improvement as the end result is
> when our goal is to completely drop the singleton index_state
> instance, aka "the_index". I actually think that it may be a
> worthwhile goal to eradicate "the_index".
>
> I wonder if somebody can take a small example codepath and make it
> not to rely on the existence of "the_index" from start to end? Have
> an instance of index_state on the stack of cmd_foo(), have it call
> read_index() into it where it currently calls read_cache(), update
> the support functions it calls so that it can pass the pointer to
> its index_info throughout the callchain, and see how involved the
> necessary changes of all of the above are. Start from something
> simple and small, e.g. "ls-files". The infrastructure code updated
> for such an experiment may be NO_THE_INDEX_COMPATIBILITY_MACROS
> clean.
I've mentioned elsewhere but I've been working on this for 'ls-files'.
There's quite a few "gotchas" but its given me a good idea of which
sections of code need to be converted to taking in a
'struct index_state'. I'll send some of this conversion out later today
as a RFC and see what people think about it and if its worth while to
continue.
--
Brandon Williams
next prev parent reply other threads:[~2017-05-05 17:30 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-01 19:07 [PATCH 0/5] Start of a journey: drop NO_THE_INDEX_COMPATIBILITY_MACROS Stefan Beller
2017-05-01 19:07 ` [PATCH 1/5] cache.h: drop read_cache() Stefan Beller
2017-05-01 19:07 ` [PATCH 2/5] cache.h: drop active_* macros Stefan Beller
2017-05-01 19:07 ` [PATCH 3/5] cache.h: drop read_cache_from Stefan Beller
2017-05-01 19:07 ` [PATCH 4/5] cache.h: drop read_cache_preload(pathspec) Stefan Beller
2017-05-01 19:07 ` [PATCH 5/5] cache.h: drop read_cache_unmerged() Stefan Beller
2017-05-02 1:36 ` [PATCH 0/5] Start of a journey: drop NO_THE_INDEX_COMPATIBILITY_MACROS Junio C Hamano
2017-05-02 4:17 ` Stefan Beller
2017-05-02 14:05 ` Jeff Hostetler
2017-05-03 11:31 ` Samuel Lijin
2017-05-03 17:14 ` Stefan Beller
2017-05-03 18:22 ` Samuel Lijin
2017-05-04 3:29 ` Brandon Williams
2017-05-03 10:27 ` Duy Nguyen
2017-05-03 17:02 ` Stefan Beller
2017-05-04 2:48 ` Junio C Hamano
2017-05-04 3:24 ` Brandon Williams
2017-05-04 18:30 ` Stefan Beller
2017-05-05 14:31 ` Johannes Schindelin
2017-05-05 17:20 ` Brandon Williams
2017-05-04 19:19 ` Jonathan Nieder
2017-05-05 17:22 ` Junio C Hamano
2017-05-05 17:29 ` Brandon Williams [this message]
2017-05-02 15:35 ` Jeff Hostetler
2017-05-02 17:06 ` Stefan Beller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170505172956.GB55152@google.com \
--to=bmwill@google.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@gmail.com \
--cc=pclouds@gmail.com \
--cc=sbeller@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).