* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.