* [Buildroot] [PATCH] Create a .gitignore file in the CANONICAL_O directory
@ 2024-02-06 13:20 yegorslists--- via buildroot
2024-02-06 13:30 ` Yann E. MORIN
0 siblings, 1 reply; 6+ messages in thread
From: yegorslists--- via buildroot @ 2024-02-06 13:20 UTC (permalink / raw)
To: buildroot
From: Yegor Yefremov <yegorslists@googlemail.com>
This .gitignore file ignores all files in an output directory and
hence doesn't change the git status.
Remove "/output" entry from the main .gitignore file as it is already
handled by this general approach.
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
.gitignore | 1 -
Makefile | 3 +++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index bb02d9f572..14b7ca5040 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,3 @@
-/output
/dl
/.auto.deps
/.config.cmd
diff --git a/Makefile b/Makefile
index ac625152c6..86d4444745 100644
--- a/Makefile
+++ b/Makefile
@@ -63,6 +63,9 @@ ifneq ($(findstring @,$(CANONICAL_O)),)
$(error The build directory can not contain a '@')
endif
+# Create a default .gitignore file that ignores everything
+$(shell echo "*" > "$(CANONICAL_O)/.gitignore")
+
CANONICAL_CURDIR = $(realpath $(CURDIR))
REQ_UMASK = 0022
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH] Create a .gitignore file in the CANONICAL_O directory
2024-02-06 13:20 [Buildroot] [PATCH] Create a .gitignore file in the CANONICAL_O directory yegorslists--- via buildroot
@ 2024-02-06 13:30 ` Yann E. MORIN
2024-02-06 13:37 ` Arnout Vandecappelle via buildroot
0 siblings, 1 reply; 6+ messages in thread
From: Yann E. MORIN @ 2024-02-06 13:30 UTC (permalink / raw)
To: yegorslists; +Cc: buildroot
Yegor, All,
On 2024-02-06 14:20 +0100, yegorslists--- via buildroot spake thusly:
> From: Yegor Yefremov <yegorslists@googlemail.com>
>
> This .gitignore file ignores all files in an output directory and
> hence doesn't change the git status.
>
> Remove "/output" entry from the main .gitignore file as it is already
> handled by this general approach.
What are you trying to achieve with this that does not work currently?
Regards,
Yann E. MORIN.
> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
> ---
> .gitignore | 1 -
> Makefile | 3 +++
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/.gitignore b/.gitignore
> index bb02d9f572..14b7ca5040 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -1,4 +1,3 @@
> -/output
> /dl
> /.auto.deps
> /.config.cmd
> diff --git a/Makefile b/Makefile
> index ac625152c6..86d4444745 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -63,6 +63,9 @@ ifneq ($(findstring @,$(CANONICAL_O)),)
> $(error The build directory can not contain a '@')
> endif
>
> +# Create a default .gitignore file that ignores everything
> +$(shell echo "*" > "$(CANONICAL_O)/.gitignore")
> +
> CANONICAL_CURDIR = $(realpath $(CURDIR))
>
> REQ_UMASK = 0022
> --
> 2.34.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH] Create a .gitignore file in the CANONICAL_O directory
2024-02-06 13:30 ` Yann E. MORIN
@ 2024-02-06 13:37 ` Arnout Vandecappelle via buildroot
2024-02-12 9:00 ` Yegor Yefremov via buildroot
0 siblings, 1 reply; 6+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2024-02-06 13:37 UTC (permalink / raw)
To: Yann E. MORIN, yegorslists; +Cc: buildroot
On 06/02/2024 14:30, Yann E. MORIN wrote:
> Yegor, All,
>
> On 2024-02-06 14:20 +0100, yegorslists--- via buildroot spake thusly:
>> From: Yegor Yefremov <yegorslists@googlemail.com>
>>
>> This .gitignore file ignores all files in an output directory and
>> hence doesn't change the git status.
>>
>> Remove "/output" entry from the main .gitignore file as it is already
>> handled by this general approach.
>
> What are you trying to achieve with this that does not work currently?
I you do `make O=output-test-mypkg` (which I do quite a lot), that output
directory doesn't get ignored by git. We could ignore output* but maybe you name
the output directory o-foo or something.
Putting a .gitignore in a generated directory is a very elegant solution for
that. It is used by e.g. virtualenv, pytest, and a load of other applications
that generate output in a directory.
Since the .gitignore is created in the output directory, it is no longer
necessary to put output/ in the .gitignore file.
All of the above could be put in the commit message, of course, but for me
Yegor's commit message was sufficiently clear :-)
Regards,
Arnout
>
> Regards,
> Yann E. MORIN.
>
>> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
>> ---
>> .gitignore | 1 -
>> Makefile | 3 +++
>> 2 files changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/.gitignore b/.gitignore
>> index bb02d9f572..14b7ca5040 100644
>> --- a/.gitignore
>> +++ b/.gitignore
>> @@ -1,4 +1,3 @@
>> -/output
>> /dl
>> /.auto.deps
>> /.config.cmd
>> diff --git a/Makefile b/Makefile
>> index ac625152c6..86d4444745 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -63,6 +63,9 @@ ifneq ($(findstring @,$(CANONICAL_O)),)
>> $(error The build directory can not contain a '@')
>> endif
>>
>> +# Create a default .gitignore file that ignores everything
>> +$(shell echo "*" > "$(CANONICAL_O)/.gitignore")
>> +
>> CANONICAL_CURDIR = $(realpath $(CURDIR))
>>
>> REQ_UMASK = 0022
>> --
>> 2.34.1
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot@buildroot.org
>> https://lists.buildroot.org/mailman/listinfo/buildroot
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH] Create a .gitignore file in the CANONICAL_O directory
2024-02-06 13:37 ` Arnout Vandecappelle via buildroot
@ 2024-02-12 9:00 ` Yegor Yefremov via buildroot
2024-02-12 20:07 ` Yann E. MORIN
0 siblings, 1 reply; 6+ messages in thread
From: Yegor Yefremov via buildroot @ 2024-02-12 9:00 UTC (permalink / raw)
To: Arnout Vandecappelle; +Cc: Yann E. MORIN, buildroot
Hi Yann,
On Tue, Feb 6, 2024 at 2:37 PM Arnout Vandecappelle <arnout@mind.be> wrote:
>
>
>
> On 06/02/2024 14:30, Yann E. MORIN wrote:
> > Yegor, All,
> >
> > On 2024-02-06 14:20 +0100, yegorslists--- via buildroot spake thusly:
> >> From: Yegor Yefremov <yegorslists@googlemail.com>
> >>
> >> This .gitignore file ignores all files in an output directory and
> >> hence doesn't change the git status.
> >>
> >> Remove "/output" entry from the main .gitignore file as it is already
> >> handled by this general approach.
> >
> > What are you trying to achieve with this that does not work currently?
>
> I you do `make O=output-test-mypkg` (which I do quite a lot), that output
> directory doesn't get ignored by git. We could ignore output* but maybe you name
> the output directory o-foo or something.
>
> Putting a .gitignore in a generated directory is a very elegant solution for
> that. It is used by e.g. virtualenv, pytest, and a load of other applications
> that generate output in a directory.
>
> Since the .gitignore is created in the output directory, it is no longer
> necessary to put output/ in the .gitignore file.
>
>
> All of the above could be put in the commit message, of course, but for me
> Yegor's commit message was sufficiently clear :-)
Were we able to convince you?
Regards,
Yegor
> Regards,
> Arnout
>
>
> >
> > Regards,
> > Yann E. MORIN.
> >
> >> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
> >> ---
> >> .gitignore | 1 -
> >> Makefile | 3 +++
> >> 2 files changed, 3 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/.gitignore b/.gitignore
> >> index bb02d9f572..14b7ca5040 100644
> >> --- a/.gitignore
> >> +++ b/.gitignore
> >> @@ -1,4 +1,3 @@
> >> -/output
> >> /dl
> >> /.auto.deps
> >> /.config.cmd
> >> diff --git a/Makefile b/Makefile
> >> index ac625152c6..86d4444745 100644
> >> --- a/Makefile
> >> +++ b/Makefile
> >> @@ -63,6 +63,9 @@ ifneq ($(findstring @,$(CANONICAL_O)),)
> >> $(error The build directory can not contain a '@')
> >> endif
> >>
> >> +# Create a default .gitignore file that ignores everything
> >> +$(shell echo "*" > "$(CANONICAL_O)/.gitignore")
> >> +
> >> CANONICAL_CURDIR = $(realpath $(CURDIR))
> >>
> >> REQ_UMASK = 0022
> >> --
> >> 2.34.1
> >>
> >> _______________________________________________
> >> buildroot mailing list
> >> buildroot@buildroot.org
> >> https://lists.buildroot.org/mailman/listinfo/buildroot
> >
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH] Create a .gitignore file in the CANONICAL_O directory
2024-02-12 9:00 ` Yegor Yefremov via buildroot
@ 2024-02-12 20:07 ` Yann E. MORIN
2024-02-12 21:51 ` Arnout Vandecappelle via buildroot
0 siblings, 1 reply; 6+ messages in thread
From: Yann E. MORIN @ 2024-02-12 20:07 UTC (permalink / raw)
To: Yegor Yefremov; +Cc: buildroot
Yegor, All,
On 2024-02-12 10:00 +0100, Yegor Yefremov via buildroot spake thusly:
> On Tue, Feb 6, 2024 at 2:37 PM Arnout Vandecappelle <arnout@mind.be> wrote:
> > On 06/02/2024 14:30, Yann E. MORIN wrote:
> > > On 2024-02-06 14:20 +0100, yegorslists--- via buildroot spake thusly:
> > >> From: Yegor Yefremov <yegorslists@googlemail.com>
> > >> This .gitignore file ignores all files in an output directory and
> > >> hence doesn't change the git status.
> > > What are you trying to achieve with this that does not work currently?
> > I you do `make O=output-test-mypkg` (which I do quite a lot), that output
> > directory doesn't get ignored by git. We could ignore output* but maybe you name
> > the output directory o-foo or something.
> >
> > Putting a .gitignore in a generated directory is a very elegant solution for
> > that. It is used by e.g. virtualenv, pytest, and a load of other applications
> > that generate output in a directory.
> >
> > Since the .gitignore is created in the output directory, it is no longer
> > necessary to put output/ in the .gitignore file.
> > All of the above could be put in the commit message, of course, but for me
> > Yegor's commit message was sufficiently clear :-)
> Were we able to convince you?
I now understand the purpose. Saying I'm convinced is another stride.
In my case, I have all my output directories outside of the buildroot
tree. Having a .gitignore in there would be totally useless and
spurious, and would get caught by my (superficial) tests that no unknown
files gets created outside the build/ target/ and such dirs for example.
So there are pros and cons either ways...
Maybe just create .gitignore only if $(O) a sub-dir of $(TOPDIR) ?
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH] Create a .gitignore file in the CANONICAL_O directory
2024-02-12 20:07 ` Yann E. MORIN
@ 2024-02-12 21:51 ` Arnout Vandecappelle via buildroot
0 siblings, 0 replies; 6+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2024-02-12 21:51 UTC (permalink / raw)
To: Yann E. MORIN, Yegor Yefremov; +Cc: buildroot
On 12/02/2024 21:07, Yann E. MORIN wrote:
> Yegor, All,
>
> On 2024-02-12 10:00 +0100, Yegor Yefremov via buildroot spake thusly:
>> On Tue, Feb 6, 2024 at 2:37 PM Arnout Vandecappelle <arnout@mind.be> wrote:
>>> On 06/02/2024 14:30, Yann E. MORIN wrote:
>>>> On 2024-02-06 14:20 +0100, yegorslists--- via buildroot spake thusly:
>>>>> From: Yegor Yefremov <yegorslists@googlemail.com>
>>>>> This .gitignore file ignores all files in an output directory and
>>>>> hence doesn't change the git status.
>>>> What are you trying to achieve with this that does not work currently?
>>> I you do `make O=output-test-mypkg` (which I do quite a lot), that output
>>> directory doesn't get ignored by git. We could ignore output* but maybe you name
>>> the output directory o-foo or something.
>>>
>>> Putting a .gitignore in a generated directory is a very elegant solution for
>>> that. It is used by e.g. virtualenv, pytest, and a load of other applications
>>> that generate output in a directory.
>>>
>>> Since the .gitignore is created in the output directory, it is no longer
>>> necessary to put output/ in the .gitignore file.
>>> All of the above could be put in the commit message, of course, but for me
>>> Yegor's commit message was sufficiently clear :-)
>> Were we able to convince you?
>
> I now understand the purpose. Saying I'm convinced is another stride.
>
> In my case, I have all my output directories outside of the buildroot
> tree. Having a .gitignore in there would be totally useless and
> spurious, and would get caught by my (superficial) tests that no unknown
> files gets created outside the build/ target/ and such dirs for example.
That sounds like something you should update regularly, because we regularly
add new stuff in the output directory.
> So there are pros and cons either ways...
>
> Maybe just create .gitignore only if $(O) a sub-dir of $(TOPDIR) ?
That would be quite complicated, while this patch is pretty simple.
Regards,
Arnout
>
> Regards,
> Yann E. MORIN.
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-02-12 21:51 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-06 13:20 [Buildroot] [PATCH] Create a .gitignore file in the CANONICAL_O directory yegorslists--- via buildroot
2024-02-06 13:30 ` Yann E. MORIN
2024-02-06 13:37 ` Arnout Vandecappelle via buildroot
2024-02-12 9:00 ` Yegor Yefremov via buildroot
2024-02-12 20:07 ` Yann E. MORIN
2024-02-12 21:51 ` Arnout Vandecappelle via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox