On Tue, Oct 01, 2024 at 02:32:30PM +0200, Patrick Steinhardt wrote: > On Tue, Oct 01, 2024 at 12:58:30PM +0800, shejialuo wrote: > > On Mon, Sep 30, 2024 at 01:06:55PM -0700, Junio C Hamano wrote: > > In my opinion, we should first think about how we handle the situation > > where we run builtins outside of the repository. The most easiest way is > > to pass the fallback object (aka "the_repository"). > > > > However, this seems a little strange. We are truly outside of the > > repository but we really rely on the "struct repository *" to do many > > operations. It's unrealistic to change so many interfaces which use the > > "struct repository *". So, we should just use the fallback idea at > > current. > > I disagree with this statement. If code isn't prepare to not handle a > `NULL` repository we shouldn't fall back to `the_repository`, but we > should instead prepare the code to handle this case. This of course > requires us to do a ton of refactorings, but that is the idea of this > whole exercise to get rid of `the_repository`. > Actually, I also insist that we should refactor here. But I worry about the burden this would bring to John due to we may do a lot of work here. So, I expressed my meaning in a compromising way. But we should face the problem directly :). Thanks, Jialuo