* Re: [PATCH] .gitignore: ignore temporary files from 'bear' [not found] <20250827-master-v1-1-19f9f367219c@google.com> @ 2025-08-29 23:38 ` Nathan Chancellor 2025-08-30 19:25 ` Nicolas Schier 0 siblings, 1 reply; 3+ messages in thread From: Nathan Chancellor @ 2025-08-29 23:38 UTC (permalink / raw) To: Brendan Jackman Cc: Nick Desaulniers, Bill Wendling, linux-kernel, Justin Stitt, llvm, linux-kbuild, Nicolas Schier Hi Brendan, On Wed, Aug 27, 2025 at 08:59:43AM +0000, Brendan Jackman wrote: > Bear [0] is a tool for generating compile_commands.json. For Kbuild, > Bear is not useful, since Kbuild already generates the necessary info > and that can be converted to compile_commands.json by > gen_compile_commads.py. > > However, for code in tools/, it's handy. For example, this command > updates compile_commands.json so that clangd code navigation will also > work for the VMA unit tests: > > bear --append -- make -C tools/testing/vma -j > > Bear generates some temporary files. These are usually deleted again > but having them show up ephemerally confuses tools that trigger > recompilation on source code changes. Ignore them in Git so that these > tools can tell they aren't source code. > > [0]: https://github.com/rizsotto/Bear > > Signed-off-by: Brendan Jackman <jackmanb@google.com> We can likely take this via the Kbuild tree. I do wonder if this would be better in a tools/.gitignore file since bear is really only of use there but I am not sure it matters much. > --- > .gitignore | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/.gitignore b/.gitignore > index 929054df5212d68a32a1f5ee2b267389fcd1c8db..b07c8c8383bd791e903ce985c14c231cb6928411 100644 > --- a/.gitignore > +++ b/.gitignore > @@ -53,6 +53,7 @@ > *.tar > *.xz > *.zst > +*.tmp Please keep the globs alphabetized. > Module.symvers > dtbs-list > modules.order > @@ -177,6 +178,9 @@ x509.genkey > > # Clang's compilation database file > /compile_commands.json > +# Temporary files created by 'bear', a tool used for generating > +# compile_commands.json for non-Kbuild code. > +*.events.json Please rebase this on kbuild-next, as '/' is no longer present in the compile_commands.json line: https://git.kernel.org/kbuild/l/kbuild-next The comment feels a little lengthy compared to the rest of the file but I am not sure it can really be slimmed down... I am guessing the pattern cannot be made more specific, as I do wonder if anyone would introduce files with this pattern but that is why we have the check in scripts/misc-check, so it is probably not that big of a deal. > > # Documentation toolchain > sphinx_*/ > > --- > base-commit: fab1beda7597fac1cecc01707d55eadb6bbe773c > change-id: 20250827-master-23458abb102d > > Best regards, > -- > Brendan Jackman <jackmanb@google.com> > > ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] .gitignore: ignore temporary files from 'bear' 2025-08-29 23:38 ` [PATCH] .gitignore: ignore temporary files from 'bear' Nathan Chancellor @ 2025-08-30 19:25 ` Nicolas Schier 2025-09-01 11:29 ` Brendan Jackman 0 siblings, 1 reply; 3+ messages in thread From: Nicolas Schier @ 2025-08-30 19:25 UTC (permalink / raw) To: Nathan Chancellor Cc: Brendan Jackman, Nick Desaulniers, Bill Wendling, linux-kernel, Justin Stitt, llvm, linux-kbuild On Fri, Aug 29, 2025 at 04:38:24PM -0700, Nathan Chancellor wrote: > Hi Brendan, > > On Wed, Aug 27, 2025 at 08:59:43AM +0000, Brendan Jackman wrote: > > Bear [0] is a tool for generating compile_commands.json. For Kbuild, > > Bear is not useful, since Kbuild already generates the necessary info > > and that can be converted to compile_commands.json by > > gen_compile_commads.py. > > > > However, for code in tools/, it's handy. For example, this command > > updates compile_commands.json so that clangd code navigation will also > > work for the VMA unit tests: > > > > bear --append -- make -C tools/testing/vma -j > > > > Bear generates some temporary files. These are usually deleted again > > but having them show up ephemerally confuses tools that trigger > > recompilation on source code changes. Ignore them in Git so that these > > tools can tell they aren't source code. > > > > [0]: https://github.com/rizsotto/Bear > > > > Signed-off-by: Brendan Jackman <jackmanb@google.com> > > We can likely take this via the Kbuild tree. I do wonder if this would > be better in a tools/.gitignore file since bear is really only of use > there but I am not sure it matters much. yeah, please consider using tools/.gitignore. Please have a look at this thread about ignoring files from "external" tools: https://lore.kernel.org/lkml/CAHk-=wiJHMje8cpiTajqrLrM23wZK0SWetuK1Bd67c0OGM_BzQ@mail.gmail.com/ If using tools/.gitignore is not possible, I think the best way for ignoring files that are not natively related to kernel build tools is to update the local ~/.config/git/ignore, as suggested in https://lore.kernel.org/lkml/CAK7LNAQas0cK7pgi72tYC3yU=ZkQxnr41YYW1mXd-sWiHtG+UA@mail.gmail.com/ compare to: https://docs.github.com/en/get-started/git-basics/ignoring-files#configuring-ignored-files-for-all-repositories-on-your-computer Kind regards, Nicolas ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] .gitignore: ignore temporary files from 'bear' 2025-08-30 19:25 ` Nicolas Schier @ 2025-09-01 11:29 ` Brendan Jackman 0 siblings, 0 replies; 3+ messages in thread From: Brendan Jackman @ 2025-09-01 11:29 UTC (permalink / raw) To: Nicolas Schier, Nathan Chancellor Cc: Nick Desaulniers, Bill Wendling, linux-kernel, Justin Stitt, llvm, linux-kbuild On Sat Aug 30, 2025 at 7:25 PM UTC, Nicolas Schier wrote: > On Fri, Aug 29, 2025 at 04:38:24PM -0700, Nathan Chancellor wrote: >> Hi Brendan, >> >> On Wed, Aug 27, 2025 at 08:59:43AM +0000, Brendan Jackman wrote: >> > Bear [0] is a tool for generating compile_commands.json. For Kbuild, >> > Bear is not useful, since Kbuild already generates the necessary info >> > and that can be converted to compile_commands.json by >> > gen_compile_commads.py. >> > >> > However, for code in tools/, it's handy. For example, this command >> > updates compile_commands.json so that clangd code navigation will also >> > work for the VMA unit tests: >> > >> > bear --append -- make -C tools/testing/vma -j >> > >> > Bear generates some temporary files. These are usually deleted again >> > but having them show up ephemerally confuses tools that trigger >> > recompilation on source code changes. Ignore them in Git so that these >> > tools can tell they aren't source code. >> > >> > [0]: https://github.com/rizsotto/Bear >> > >> > Signed-off-by: Brendan Jackman <jackmanb@google.com> >> >> We can likely take this via the Kbuild tree. I do wonder if this would >> be better in a tools/.gitignore file since bear is really only of use >> there but I am not sure it matters much. > > yeah, please consider using tools/.gitignore. I don't believe that works here, because AFAIK clangd assumes a single compile_commands.json, so while we could git-ignore tools/compile_commands.json that wouldn't really serve the usecase I have here with 'bear --append'. > Please have a look at > this thread about ignoring files from "external" tools: > > https://lore.kernel.org/lkml/CAHk-=wiJHMje8cpiTajqrLrM23wZK0SWetuK1Bd67c0OGM_BzQ@mail.gmail.com/ Hm, I would read the spirit of that thread as not being about things from 'external tools', rather Linus' objection seems to be that the _lifetime_ of the mbox files is unrelated to the kernel build. Well, to be honest the only coherent principle I can get from it is "don't break Linus' workflow". Which... yeah, is still a pretty valid concern. > If using tools/.gitignore is not possible, I think the best way for > ignoring files that are not natively related to kernel build tools is to > update the local ~/.config/git/ignore, as suggested in > > https://lore.kernel.org/lkml/CAK7LNAQas0cK7pgi72tYC3yU=ZkQxnr41YYW1mXd-sWiHtG+UA@mail.gmail.com/ Given this alternative, and given the fact that I'm ignoring a very generic suffix in *.tmp (if it was just *.events.json I'd say the practical risk has gotta be close to nil), I think we could just drop this unless anyone else pops up with evidence that 'bear' is important to lots of people or something. Cheers, Brendan ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-09-01 11:29 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20250827-master-v1-1-19f9f367219c@google.com>
2025-08-29 23:38 ` [PATCH] .gitignore: ignore temporary files from 'bear' Nathan Chancellor
2025-08-30 19:25 ` Nicolas Schier
2025-09-01 11:29 ` Brendan Jackman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox