Re: [PATCH] kbuild: incremental tags updating with GNU GLOBAL

From: Víctor M. Jáquez L.
Date: Mon Jul 25 2011 - 09:37:55 EST


On Mon, Jul 25, 2011 at 03:20:40PM +0200, Michal Marek wrote:
> On Mon, Jul 11, 2011 at 03:17:25PM +0200, Víctor M. Jáquez L. wrote:
> > On Mon, Jul 11, 2011 at 02:17:38PM +0200, Michal Marek wrote:
> > > On 11.7.2011 12:26, Víctor Manuel Jáquez Leal wrote:
> > > >Instead of generating the tag database each time the target is ran, is better
> > > >just update incrementally the database. It will expend less time.
> > > >
> > > >Signed-off-by: Víctor Manuel Jáquez Leal<vjaquez@xxxxxxxxxx>
> > > >---
> > > > scripts/tags.sh | 6 +++++-
> > > > 1 files changed, 5 insertions(+), 1 deletions(-)
> > > >
> > > >diff --git a/scripts/tags.sh b/scripts/tags.sh
> > > >index 75c5d24..6a2fedc 100755
> > > >--- a/scripts/tags.sh
> > > >+++ b/scripts/tags.sh
> > > >@@ -116,7 +116,11 @@ docscope()
> > > >
> > > > dogtags()
> > > > {
> > > >- all_sources | gtags -f -
> > > >+ if global -p; then
> > > >+ global -u
> > > >+ else
> > > >+ all_sources | gtags -f -
> > > >+ fi
> > >
> > > Will this handle new source files properly?
> >
> > I ran a quick test and yes, it does.
>
> I installed global and tried it myself:

Thanks a lot for the review and the testing!

> 1) The first 'make gtags' run prints a rather confusing message (fixable)
> $ make gtags
> GEN gtags
> global: GTAGS not found.
> $

yep, I guess a 2>&1 > /dev/null could do it

> 2) A second run indexes the _whole_ tree, including everything under
> arch/. The point of the tags.sh script is that it indexes only files
> relevant to the current architecture. If someone wants to index the
> whole tree, they can run global directly.

nice catch!

Well, that makes this patch a bit pointless :(

Thanks again for the review and sorry for noise.

vmjl
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/