- changed status to open
- removed comment
'make tags' doesn't properly handle symlinks
When generating ctags for the cactus tree, 'make tags' currently ignores all symlinks. This results in a large number of thorns in my cactus tree not getting tagged because GetComponents put them in CACTUS_ROOT/repos and linked to them.
I'm not sure if this is intended but I have a feeling it isn't...
This fixes the problem, but I've only tested it on my checkout:
matt@krang:~/maya/Cactus$ diff Makefile.backup Makefile
312c312
< find src arrangements \( \
---
> find -L src arrangements \( \
317c317
< # find src arrangements \( -name '*.[cChF]' -o -name '*.F77' -o -name '*.cc'\) \
---
> # find -L src arrangements \( -name '*.[cChF]' -o -name '*.F77' -o -name '*.cc'\) \
327c327
< find src arrangements \( \
---
> find -L src arrangements \( \
Keyword:
Comments (9)
-
-
- changed status to open
- removed comment
-
- changed status to open
- removed comment
This fails on QueenBee:
[knarf@qb4 Cactus]$ find -L src arrangements find: invalid predicate `-L'
-
- removed comment
hmpf. I was too quick then. It's already applied. I'll revert it I guess.
-
- removed comment
Same on ranger. I suggest to revert to -follow instead of -L. -follow seems to be older. The downside is that -follow is marked being deprecated in newer versions of 'find' and might break there some time in the future. However, until we find a system where this indeed breaks I suggest to use it.
-
- removed comment
Queenbee's find has a -follow option, which POSIX does not list (http://pubs.opengroup.org/onlinepubs/009695399/utilities/find.html). I'd expect -follow to be GNU option (it's deprecated in newer versions) that might not exist on eg BSD.
-
- removed comment
Mac OS X (which is close to BSD) offers both -L and -follow.
We can also try both, such as e.g.
if find -L TAGS >/dev/null 2>&1; then find -L src arrangements ... else find src arrangements -follow ... fi | xargs ...
-
- changed status to resolved
- removed comment
Using "find -follow" now.
-
- changed status to closed
- edited description
- Log in to comment
Thanks. The option -L to find seems to be part of the Posix standard, so it should work on most systems. I suggest to apply the patch.