On Mon, May 05, 2025 at 09:27:10AM +0200, Johannes Schindelin wrote: > Hi Patrick, > > On Mon, 5 May 2025, Patrick Steinhardt wrote: > > > On Sat, May 03, 2025 at 02:25:46PM +0000, Johannes Schindelin via GitGitGadget wrote: > > > From: Johannes Schindelin <johannes.schindelin@xxxxxx> > > > Changes since v1: > > > > > > * Rewrote the commit message to reflect that this patch is still > > > needed, even if the symptom that originally motivated the patch was > > > addressed in a different manner, because it was merely a symptom of > > > the underlying root cause that CI builds should not let Visual C > > > build Git in debug mode. > > > > Ok, makes sense. I think we should ideally address this issue > > strategically, e.g. by getting rid of asserts completely in our > > codebase. But for now I agree that we should just build Git in release > > mode on Windows. > > I am afraid that getting rid of asserts in Git's codebase won't ever be > able to address the challenge that Git -- despite much reluctance -- > relies on a couple of external dependencies that might at any point in > time cause `assert()` to be called, e.g. due to unexpected changes in the > CI runner images. Good point indeed, I haven't considered this. > In essence, we will need both: CI builds in release mode _and_ converting > `assert()`s to `BUG()` calls (the latter, however, for different reasons > than to proactively address CI hangs: Git can convey better information in > `BUG()` calls than in `assert()` calls). > > There are more reasons to use release mode builds in CI, too, but we > already have a compelling reason to do so, therefore there is no need for > me to spend more time assembling an exhaustive list. Yup. Patrick