diff mbox series

trace-cmd TAGS: Fix tags to not parse .pc directory of patch

Message ID 20180110014754.61598eaa@vmware.local.home (mailing list archive)
State Accepted
Headers show
Series trace-cmd TAGS: Fix tags to not parse .pc directory of patch | expand

Commit Message

Steven Rostedt Jan. 10, 2018, 6:47 a.m. UTC
[ Vlad, this patch does touch the Makefile. How will it affect you? ]

From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

When working on some code, I use quilt to develop to save off patchs to push
and pop my current work. quilt will create a .pc directory to store the
original files that are being worked on. Unfortunately, the current code
that creates TAGS will decend into this directory and include it when doing
code searching via emacs or vim. If one is not careful, they can end up
editing the saved quilt original file and not the file they should be
editing.

Add a find_tag_files define that limits the scope of where TAGS will get its
code to examine.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 Makefile | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

Comments

Vladislav Valtchev (VMware) Jan. 10, 2018, 8:17 a.m. UTC | #1
On Wed, 2018-01-10 at 01:47 -0500, Steven Rostedt wrote:
> [ Vlad, this patch does touch the Makefile. How will it affect you? ]
> 

Thanks for asking, Steven.

I've applied this patch on a temp_master branch and I've tried to rebase
all of my makefile-related changes on the top of it. Fortunately we're lucky
and git's 3-way merge was able to correctly rebase everything. I've quickly
tested that the build (both in-tree and out-of-tree) continue to work.

In conclusion, no problem with this patch at all :-)
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 5871fd5..c78db04 100644
--- a/Makefile
+++ b/Makefile
@@ -537,17 +537,22 @@  show_gui_done:
 
 PHONY += show_gui_make
 
+define find_tag_files
+	find . -name '\.pc' -prune -o -name '*\.[ch]' \
+		! -name '\.#' -print
+endef
+
 tags:	force
 	$(RM) tags
-	find . -name '*.[ch]' | xargs ctags --extra=+f --c-kinds=+px
+	$(call find_tag_files) | xargs ctags --extra=+f --c-kinds=+px
 
 TAGS:	force
 	$(RM) TAGS
-	find . -name '*.[ch]' | xargs etags
+	$(call find_tag_files) | xargs etags
 
 cscope: force
 	$(RM) cscope*
-	find . -name '*.[ch]' | cscope -b -q
+	$(call find_tag_files) | cscope -b -q
 
 PLUGINS_INSTALL = $(subst .so,.install,$(PLUGINS)) $(subst .so,.install,$(PYTHON_PLUGINS))