Calvin Wan <calvinwan@xxxxxxxxxx> writes: > +Rationale behind Git Standard Library > +================ Would it be clearer to write "Rationale behind what's in and what's not in the Git Standard Library"? Or maybe that is too much of a mouthful. > +Files inside of Git Standard Library > +================ > + > +The initial set of files in git-std-lib.a are: > +abspath.c > +ctype.c > +date.c > +hex-ll.c > +parse.c > +strbuf.c > +usage.c > +utf8.c > +wrapper.c > +stubs/repository.c > +stubs/trace2.c > +relevant compat/ files I noticed that an earlier version did not have the "stubs" lines and this version does, but could not find a comment about why these were added. For me, what would make sense is to remove the "stubs" lines, and then say "When these files are compiled together with the following files (or user-provided files that provide the same functions), they form a complete library", and then list the stubs after. > diff --git a/git-compat-util.h b/git-compat-util.h > index 481dac22b0..75aa9b263e 100644 > --- a/git-compat-util.h > +++ b/git-compat-util.h > @@ -396,8 +396,8 @@ static inline int noop_core_config(const char *var UNUSED, > #define platform_core_config noop_core_config > #endif > > +#if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(GIT_STD_LIB) > int lstat_cache_aware_rmdir(const char *path); > -#if !defined(__MINGW32__) && !defined(_MSC_VER) > #define rmdir lstat_cache_aware_rmdir > #endif (and other changes that use defined(GIT_STD_LIB)) One alternative is to add stubs for lstat_cache_aware_rmdir that call the "real" rmdir, but I guess that would be unnecessarily confusing. Also, it would be strange if a user included a header file that redefined a standard library function, so I guess we do need such a "defined()" guard.