Re: [PATCH v2 3/4] apply: remove the_repository global variable
From: shejialuo <hidden>
Date: 2024-10-01 13:40:42
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:quoted
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