Hi Andrew, On 10/25/22 21:15, Andrew Clayton wrote:
Git can be told to apply language-specific rules when generating diffs. Enable this for C source code files (*.c and *.h) so that function names are printed right. Specifically, doing so prevents "git diff" from mistakenly considering unindented goto labels as function names. This has the same effect as adding [diff "default"] xfuncname = "^[[:alpha:]$_].*[^:]$"
Where does that regex come from?
to your git config file. e.g get @@ -10,7 +10,7 @@ int main(void) instead of @@ -10,7 +10,7 @@ again: This makes use of the gitattributes(5) infrastructure. Signed-off-by: Andrew Clayton <a.clayton@xxxxxxxxx>
Wow! git(1) is showing C functions incorrectly?! The last language I expected this to happen with. I had to use this for man(7) pages, but for C files?!
I mean, we have one of the simplest and most consistent coding styles I've seen regarding placement of function definitions (no false negatives or positives in grepc(1)).
Should we report a bug to <mailto:Git <git@xxxxxxxxxxxxxxx>> too :)
--- .gitattributes | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..45ec5156 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +*.c diff=cpp +*.h diff=cpp
Why cpp? Thanks, Alex -- <http://www.alejandro-colomar.es/>
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature