[PATCH] .gitattributes: Add *.md diff=md

Richard Earnshaw (lists) Richard.Earnshaw@arm.com
Wed Jan 15 13:39:00 GMT 2020


On 15/01/2020 11:45, Jakub Jelinek wrote:
> 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  <segher@kernel.crashing.org>
> 	    Jakub Jelinek  <jakub@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
> 


I'd just posted nearly the same patch...

Suggest

*.[mp]d diff=md

Then match.pd will pick up this rule as well.

OK with that change.

R.



More information about the Gcc-patches mailing list