diff --git a/.gitattributes b/.gitattributes index e0ba0f20c184467aba230b4fa6df8a72306594e7..5a71990fae7ba9ecfcbaec5511826c0e3b7e51a7 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,7 +2,12 @@ # @see http://www.kernel.org/pub/software/scm/git/docs/gitattributes.html # @see http://drupal.org/node/1542048 -# Shorthand for text files. +# Normally these settings would be done with macro attributes for improved +# readability and easier maintenance. However macros can only be defined at the +# repository root directory. Drupal avoids making any assumptions about where it +# is installed. + +# Define text file attributes. # - Treat them as text. # - Ensure no CRLF line-endings, neither on checkout nor on checkin. # - Detect whitespace errors. @@ -10,42 +15,37 @@ # - Validate with `git diff --check`. # - Deny applying with `git apply --whitespace=error-all`. # - Fix automatically with `git apply --whitespace=fix`. -[attr]drupaltext text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 - -# Shorthand for binary files. -# - Do not treat them as text. -# - Include binary diff in patches instead of "binary files differ." -[attr]drupalbinary -text diff # Auto-detect text files, ensure they use LF. * text=auto eol=lf -# Define text file attributes. -*.css drupaltext -*.engine drupaltext diff=php -*.html drupaltext diff=html -*.inc drupaltext diff=php -*.info drupaltext -*.install drupaltext diff=php -*.js drupaltext -*.json drupaltext -*.lock drupaltext -*.md drupaltext -*.module drupaltext diff=php -*.php drupaltext diff=php -*.po drupaltext -*.script drupaltext -*.sh drupaltext diff=php -*.sql drupaltext -*.test drupaltext diff=php -*.txt drupaltext -*.xml drupaltext -*.yml drupaltext +*.css text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 +*.engine text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.html text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=html +*.inc text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.info text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 +*.install text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.js text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 +*.json text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 +*.lock text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 +*.md text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 +*.module text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.php text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.po text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 +*.script text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 +*.sh text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.sql text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 +*.test text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 diff=php +*.txt text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 +*.xml text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 +*.yml text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 # Define binary file attributes. -*.gif drupalbinary -*.gz drupalbinary -*.ico drupalbinary -*.jpg drupalbinary -*.png drupalbinary -*.phar drupalbinary +# - Do not treat them as text. +# - Include binary diff in patches instead of "binary files differ." +*.gif -text diff +*.gz -text diff +*.ico -text diff +*.jpg -text diff +*.png -text diff +*.phar -text diff