Junio C Hamano <gitster@xxxxxxxxx> writes: > Taylor Blau <me@xxxxxxxxxxxx> writes: > >> When a conditional word (ifeq, ifneq, ifdef, etc.) is preceded by one or >> more tab characters, replace each tab character with 8 space characters >> with the following: >> >> find . -type f -not -path './.git/*' -name Makefile -or -name '*.mak' | >> xargs perl -i -pe ' >> s/(\t+)(ifn?eq|ifn?def|else|endif)/" " x (length($1) * 8) . $2/ge unless /\\$/ >> ' > > Yuck, it means auto indenting Makefile and its pieces almost > impossible X-<. I'll take the patch as there is no way to revert > the change to GNU make, though. We'd need something like this on top. Our top-level .gitattributes defines the default whitespace rules with !indent-with-non-tab and enables indent-with-non-tab for specific file suffixes like .[ch], but git-gui/.gitattributes enforces indent-with-non-tab for all files. Another thing with this series (and this follow-up) is if we want to start treating git-gui/ as just a subdirectory without no plan to feed our changes to the "upstream". I am actually OK with that, as the "upstream" we merge (with -Xsubtree merge strategy) from does not seem to be very active and responsive these days. git-gui/.gitattributes | 1 + 1 file changed, 1 insertion(+) diff --git c/git-gui/.gitattributes w/git-gui/.gitattributes index 59cd41dbff..118d56cfbd 100644 --- c/git-gui/.gitattributes +++ w/git-gui/.gitattributes @@ -3,3 +3,4 @@ git-gui.sh encoding=UTF-8 /po/*.po encoding=UTF-8 /GIT-VERSION-GEN eol=lf +Makefile whitespace=!indent,trail,space