Subject: Re: ps/reftable-sans-compat-util, was Re: What's cooking in git.git (Feb 2025, #09; Fri, 28)

From: Patrick Steinhardt <[email-masked]>
Date: Fri, 28 Mar 2025 06:36:33 +0100

On Thu, Mar 27, 2025 at 08:28:34AM -0700, Junio C Hamano wrote:
> Johannes Schindelin <[email-masked]> writes:
> >> Below patch addresses the issue.
> >>
> >> Patrick
> >>
> >> diff --git a/compat/posix.h b/compat/posix.h
> >> index b484029f751..5ad3539d55b 100644
> >> --- a/compat/posix.h
> >> +++ b/compat/posix.h
> >> @@ -176,6 +176,16 @@ typedef unsigned long uintptr_t;
> >>  #define _ALL_SOURCE 1
> >>  #endif
> >>
> >> +#ifdef USE_MIMALLOC
> >> +#include "mimalloc.h"
> >> +#define malloc mi_malloc
> >> +#define calloc mi_calloc
> >> +#define realloc mi_realloc
> >> +#define free mi_free
> >> +#define strdup mi_strdup
> >> +#define strndup mi_strndup
> >> +#endif
> >> +
> >>  #ifdef MKDIR_WO_TRAILING_SLASH
> >>  #define mkdir(a,b) compat_mkdir_wo_trailing_slash((a),(b))
> >>  int compat_mkdir_wo_trailing_slash(const char*, mode_t);
> >> diff --git a/git-compat-util.h b/git-compat-util.h
> >> index 8d2acf86670..a102a365592 100644
> >> --- a/git-compat-util.h
> >> +++ b/git-compat-util.h
> >> @@ -226,16 +226,6 @@ static inline const char *precompose_string_if_needed(const char *in)
> >>  # include <sys/sysinfo.h>
> >>  #endif
> >>
> >> -#ifdef USE_MIMALLOC
> >> -#include "mimalloc.h"
> >> -#define malloc mi_malloc
> >> -#define calloc mi_calloc
> >> -#define realloc mi_realloc
> >> -#define free mi_free
> >> -#define strdup mi_strdup
> >> -#define strndup mi_strndup
> >> -#endif
> >> -
> >>  #ifndef PATH_SEP
> >>  #define PATH_SEP ':'
> >>  #endif
> >
> > I integrated this into Git for Windows' `shears/seen` branch (i.e. the
> > continuously-rebased Git for Windows patches on top of the `seen` branch),
> > and for the first time in weeks, it passed the CI build:
> > https://github.com/git-for-windows/git/actions/runs/14087673643
> 
> Thanks.
> 
> So we'll see a final reroll with the above changes and the topic
> will finally be moving?  That's a great news.

The topic can be merged as-is. The relevant MIMALLOC code only exists
downstream in Git for Windows, so there is nothing that I can do about
it in this series.

Thanks all!

Patrick