Hi!

As discussed on IRC, this patch adds the .gitattributes part of the
better diff for *.md files customization.
Tested in a tree with contrib/gcc-git-customization.sh performed,
config/i386/i386.md diffing then nicely shows the pattern, and in
a tree without the customization, where it works as if the *.md diff=md
line wasn't there.

Ok for trunk (and eventually release branches)?

2020-01-15  Segher Boessenkool  <seg...@kernel.crashing.org>
            Jakub Jelinek  <ja...@redhat.com>

        * .gitattributes: Add *.md diff=md.
contrib/
        * gcc-git-customization.sh: Change uses to use in comment.

diff --git a/.gitattributes b/.gitattributes
index 13debfd97e9..e75bfc595bf 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -4,3 +4,7 @@
 *.[cCh] whitespace=indent-with-non-tab,space-before-tab,trailing-space
 *.cc whitespace=indent-with-non-tab,space-before-tab,trailing-space
 ChangeLog whitespace=indent-with-non-tab,space-before-tab,trailing-space
+# Make diff on MD files use "(define" as a function marker.
+# Use together with git config diff.md.xfuncname '^\(define.*$'
+# which is run by contrib/gcc-git-customization.sh too.
+*.md diff=md
diff --git a/contrib/gcc-git-customization.sh b/contrib/gcc-git-customization.sh
index af7d210217f..f4261592b1d 100755
--- a/contrib/gcc-git-customization.sh
+++ b/contrib/gcc-git-customization.sh
@@ -25,7 +25,7 @@ git config alias.svn-rev '!f() { rev=$1; shift; git log --all 
--grep="From-SVN:
 git config alias.gcc-descr \!"f() { if test \${1:-no} = --full; then r=\$(git 
describe --all --abbrev=40 --match 'basepoints/gcc-[0-9]*' \${2:-master} | sed 
-n 's,^\\(tags/\\)\\?basepoints/gcc-,r,p'); expr match \${r:-no} '^r[0-9]\\+\$' 
>/dev/null && r=\${r}-0-g\$(git rev-parse \${2:-master}); test -n \$r && echo 
\${r}; else git describe --all --match 'basepoints/gcc-[0-9]*' \${1:-master} | 
sed -n 
's,^\\(tags/\\)\\?basepoints/gcc-\\([0-9]\\+\\)-\\([0-9]\\+\\)-g[0-9a-f]*\$,r\\2-\\3,p;s,^\\(tags/\\)\\?basepoints/gcc-\\([0-9]\\+\\)\$,r\\2-0,p';
 fi; }; f"
 git config alias.gcc-undescr \!"f() { o=\$(git config --get 
gcc-config.upstream); r=\$(echo \$1 | sed -n 
's,^r\\([0-9]\\+\\)-[0-9]\\+\$,\\1,p'); n=\$(echo \$1 | sed -n 
's,^r[0-9]\\+-\\([0-9]\\+\\)\$,\\1,p'); test -z \$r && echo Invalid id \$1 && 
exit 1; h=\$(git rev-parse --verify --quiet \${o:-origin}/releases/gcc-\$r); 
test -z \$h && h=\$(git rev-parse --verify --quiet \${o:-origin}/master); 
p=\$(git describe --all --match 'basepoints/gcc-'\$r \$h | sed -n 
's,^\\(tags/\\)\\?basepoints/gcc-[0-9]\\+-\\([0-9]\\+\\)-g[0-9a-f]*\$,\\2,p;s,^\\(tags/\\)\\?basepoints/gcc-[0-9]\\+\$,0,p');
 git rev-parse --verify \$h~\$(expr \$p - \$n); }; f"
 
-# Make diff on MD files uses "(define" as a function marker.
+# Make diff on MD files use "(define" as a function marker.
 # Use this in conjunction with a .gitattributes file containing
 # *.md    diff=md
 git config diff.md.xfuncname '^\(define.*$'

        Jakub

Reply via email to