From: Junio C Hamano Date: Sat, 03 Jun 2023 01:56:12 GMT Subject: Re: [PATCH] statinfo.h: move DTYPE defines from dir.h Message-ID: In-Reply-To: <20230602192700.1548636-1-asedeno@google.com> "Alejandro R Sedeño" writes: > From: Alejandro R. Sedeño > > These definitions are used in cache.h, which can't include dir.h > without causing name-hash.c to have two definitions of > `struct dir_entry`. > > Both dir.h and cache.h include statinfo.h, and this seems a reasonable > place for these definitions. > > This change fixes a broken build issue on old SunOS. > > Signed-off-by: Alejandro R. Sedeño > Signed-off-by: Alejandro R Sedeño This is a bit unusual; do you want to publish both names (I am assuming that they are the same single person)? I thought somebody in the earlier discussion identified the topic that was problematic by bisecting. It is a shame to lose that. Perhaps it is a good idea to rephrase the beginning of the proposed commit log message to mention that, like 592fc5b3 (dir.h: move DTYPE defines from cache.h, 2023-04-22) moved DTYPE macros from cache.h to dir.h, but are still used by cache.h to implement ce_to_dtype(); but cache.h cannot include dir.h because ... or something? Why does name-hash.c end up with two definitions? Aren't we properly guarding against multiple inclusions with #ifndef __DIR_H__ #define __DIR_H__ ... struct dir_entry { ... }; #endif or is there something funny going on? Thanks.