Hi Johannes, thanks for your pointers. > - the name is not expressive enough, How about get-def? If it's too long it will become tiresome to type. > - the commit message is severely lacking (I had to apply it and run it to > find out what problem it tries to solve), This is probably better: This script shows where elements of C code are defined in the git-repository. It is still experimental, although it should work in most cases. As invoking it with -? will tell: USAGE: git get-def [OPTION]... PATTERN [FILE]... print elements of C code with name PATTERN in the git repository, where PATTERN is an extended regular expression Options to specify which element(s) should be printed: -f function -s struct -d definition -m macro -e enum -u union Options to alter the output: -b only print body -n only print file and lineranges The pattern is required. If no files are specified it will search the entire repository for the specified elements with name PATTERN. If no element is specified, it will search for any of the above elements and print these when found. > - it still uses dashed git commands, Should be fixed in my next version > - it might be better to put it into contrib/, otherwise it needs > documentation with examples, and tests, Ok. > - it misdetects functions: trying > > $ ./git-cget -f get_sha1.* > > shows this, amongst others: > > -- snip -- > // vi sha1_name.c +59 > return get_sha1_hex(hex, sha1) == 0; > return found; > } > > static int match_sha(unsigned len, const unsigned char *a, const unsigned > char *b) > { > do { > if (*a != *b) > return 0; > a++; > b++; > len -= 2; > } while (len > 1); > if (len) > if ((*a ^ *b) & 0xf0) > return 0; > return 1; > } > -- snap -- Yes, it doesn't always work yet, I'll try to fix this in my next version. > - maybe it would be nicer to integrate this into git grep itself? Maybe > by allowing multi-line matches and default patterns, or pattern > templates? I did attempt to program it in C, but I am more comfortable with bash. Also, what would be more appropriate for this purpose, I think, is a git sed. However, allowing multi-line matches may be an option, I'll look into it. > Ciao, > Dscho Thanks, Roel -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html