diff mbox series

kbuild: do not overwrite .gitignore in output directory

Message ID 1553574418-21033-1-git-send-email-yamada.masahiro@socionext.com (mailing list archive)
State New, archived
Headers show
Series kbuild: do not overwrite .gitignore in output directory | expand

Commit Message

Masahiro Yamada March 26, 2019, 4:26 a.m. UTC
Commit 3a51ff344204 ("kbuild: gitignore output directory") seemed to
bother people who version-control output directories.

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@arm.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Andre Przywara March 27, 2019, 7:20 p.m. UTC | #1
On Tue, 26 Mar 2019 13:26:58 +0900
Masahiro Yamada <yamada.masahiro@socionext.com> 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@arm.com>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

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

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),)
Masahiro Yamada March 28, 2019, 9:07 a.m. UTC | #2
On Thu, Mar 28, 2019 at 4:20 AM Andre Przywara <andre.przywara@arm.com> wrote:
>
> On Tue, 26 Mar 2019 13:26:58 +0900
> Masahiro Yamada <yamada.masahiro@socionext.com> 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@arm.com>
> > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>
> Tested-by: Andre Przywara <andre.przywara@arm.com>
> Reviewed-by: Andre Przywara <andre.przywara@arm.com>


Applied to linux-kbuild/fixes.



> 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),)
>
diff mbox series

Patch

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),)