Re: [PATCH] kbuild: do not overwrite .gitignore in output directory

From: Andre Przywara
Date: Wed Mar 27 2019 - 15:20:32 EST


On Tue, 26 Mar 2019 13:26:58 +0900
Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> wrote:

Masahiro,

> Commit 3a51ff344204 ("kbuild: gitignore output directory") seemed to
> bother people who version-control output directories.

Thanks a lot for the patch, that works for me.

> Andre Przywara says:
> "Unfortunately this breaks my setup, because I keep a totally separate
> git repository in my build directories to track (various versions of)
> .config. So .gitignore there is carefully crafted to ignore most build
> artefacts, but not .config, for instance."
>
> Link: https://lkml.org/lkml/2019/3/22/1819
> Reported-by: Andre Przywara <andre.przywara@xxxxxxx>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>

Tested-by: Andre Przywara <andre.przywara@xxxxxxx>
Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx>

Cheers,
Andre.

> ---
>
> Makefile | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 5fe5431..70fc778 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -499,7 +499,8 @@ outputmakefile:
> ifneq ($(KBUILD_SRC),)
> $(Q)ln -fsn $(srctree) source
> $(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkmakefile $(srctree)
> - $(Q){ echo "# this is build directory, ignore it"; echo "*"; } > .gitignore
> + $(Q)test -e .gitignore || \
> + { echo "# this is build directory, ignore it"; echo "*"; } > .gitignore
> endif
>
> ifneq ($(shell $(CC) --version 2>&1 | head -n 1 | grep clang),)