2016-02-18 07:11:59 -08:00
|
|
|
#**************************************************************************
|
|
|
|
#* *
|
|
|
|
#* OCaml *
|
|
|
|
#* *
|
|
|
|
#* Damien Doligez, projet Gallium, INRIA *
|
|
|
|
#* *
|
|
|
|
#* Copyright 2015 Institut National de Recherche en Informatique et *
|
|
|
|
#* en Automatique. *
|
|
|
|
#* *
|
|
|
|
#* All rights reserved. This file is distributed under the terms of *
|
|
|
|
#* the GNU Lesser General Public License version 2.1, with the *
|
|
|
|
#* special exception on linking described in the file LICENSE. *
|
|
|
|
#* *
|
|
|
|
#**************************************************************************
|
|
|
|
|
2015-12-12 05:33:31 -08:00
|
|
|
# Default behaviour, for if core.autocrlf isn't set
|
|
|
|
* text=auto
|
|
|
|
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
# Don't believe there's a way to wrap lines in .gitattributes files
|
|
|
|
.gitattributes typo.long-line=may
|
2017-10-20 06:12:06 -07:00
|
|
|
|
2015-12-12 05:33:31 -08:00
|
|
|
# Binary files
|
2016-04-19 05:57:43 -07:00
|
|
|
/boot/ocamlc binary
|
|
|
|
/boot/ocamllex binary
|
|
|
|
/boot/ocamldep binary
|
2015-12-12 15:59:39 -08:00
|
|
|
*.gif binary
|
|
|
|
*.png binary
|
|
|
|
*.tfm binary
|
2015-11-03 08:32:50 -08:00
|
|
|
|
2017-02-24 17:56:34 -08:00
|
|
|
# 'union' merge driver just unions textual content in case of conflict
|
|
|
|
# http://krlmlr.github.io/using-gitattributes-to-avoid-merge-conflicts/
|
|
|
|
/.mailmap merge=union
|
2017-08-09 04:58:40 -07:00
|
|
|
|
|
|
|
# We tried using 'union' for Changes and it did not work:
|
|
|
|
# instead of creating Changes conflict it would silently duplicate
|
|
|
|
# the lines involved in the conflict, which is arguably worse
|
|
|
|
#/Changes merge=union
|
2017-02-24 17:56:34 -08:00
|
|
|
|
2016-02-16 04:23:31 -08:00
|
|
|
# No header for text files (would be too obtrusive).
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
*.md typo.missing-header
|
|
|
|
README* typo.missing-header
|
|
|
|
*.adoc typo.missing-header
|
|
|
|
*.adoc typo.long-line=may
|
|
|
|
|
|
|
|
/.mailmap typo.long-line typo.missing-header typo.non-ascii
|
|
|
|
/.merlin typo.missing-header
|
|
|
|
/Changes typo.utf8 typo.missing-header
|
|
|
|
/INSTALL typo.missing-header
|
|
|
|
/LICENSE typo.long-line typo.very-long-line typo.missing-header
|
2018-05-23 07:30:53 -07:00
|
|
|
# tools/ci/appveyor/appveyor_build.cmd only has missing-header because
|
|
|
|
# dra27 too lazy to update check-typo to interpret Cmd-style comments!
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
/tools/ci/appveyor/appveyor_build.cmd typo.long-line typo.very-long-line typo.missing-header typo.non-ascii
|
|
|
|
/tools/ci/appveyor/appveyor_build.sh typo.non-ascii
|
|
|
|
/tools/ci/inria/remove-sinh-primitive.patch typo.white-at-eol typo.missing-header typo.long-line
|
|
|
|
/tools/release-checklist typo.missing-header
|
2016-02-16 04:23:31 -08:00
|
|
|
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
asmcomp/*/emit.mlp typo.tab=may typo.long-line=may
|
|
|
|
asmcomp/power/NOTES.md typo.missing-header
|
2018-10-04 05:32:14 -07:00
|
|
|
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
/config/gnu typo.prune
|
2015-11-03 08:32:50 -08:00
|
|
|
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
emacs/*.el typo.long-line=may
|
|
|
|
emacs/caml.el typo.long-line=may typo.missing-header
|
|
|
|
emacs/COPYING typo.tab typo.non-printing typo.missing-header
|
|
|
|
emacs/ocamltags.in typo.non-printing
|
2015-11-03 08:32:50 -08:00
|
|
|
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
/manual typo.prune
|
2015-11-03 08:32:50 -08:00
|
|
|
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
ocamldoc/Changes.txt typo.missing-header
|
|
|
|
ocamldoc/ocamldoc.sty typo.missing-header
|
|
|
|
ocamldoc/odoc_index.html typo.missing-header
|
2016-02-16 04:23:31 -08:00
|
|
|
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
otherlibs/win32unix/readlink.c typo.long-line
|
|
|
|
otherlibs/win32unix/stat.c typo.long-line
|
|
|
|
otherlibs/win32unix/symlink.c typo.long-line
|
2015-12-12 05:33:31 -08:00
|
|
|
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
runtime/i386.S typo.long-line
|
2015-07-27 05:21:21 -07:00
|
|
|
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
stdlib/hashbang typo.white-at-eol typo.missing-lf
|
2018-06-20 08:43:29 -07:00
|
|
|
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
testsuite/tests/** typo.missing-header
|
|
|
|
testsuite/tests/lib-bigarray-2/bigarrf.f typo.tab
|
|
|
|
testsuite/tests/lib-unix/win-stat/fakeclock.c typo.missing-header=false
|
|
|
|
testsuite/tests/misc-unsafe/almabench.ml typo.long-line
|
|
|
|
testsuite/tests/tool-toplevel/strings.ml typo.utf8
|
|
|
|
testsuite/tests/typing-unboxed-types/test.ml.reference* typo.white-at-eof
|
|
|
|
testsuite/tests/win-unicode/*.ml typo.utf8
|
|
|
|
testsuite/tools/*.S typo.missing-header
|
|
|
|
testsuite/tools/*.asm typo.missing-header
|
|
|
|
testsuite/typing typo.missing-header
|
2016-02-16 04:23:31 -08:00
|
|
|
|
2018-06-07 05:28:44 -07:00
|
|
|
# Expect tests with overly long lines of expected output
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
testsuite/tests/parsing/docstrings.ml typo.long-line typo.very-long-line
|
|
|
|
testsuite/tests/typing-objects/Exemples.ml typo.long-line
|
|
|
|
testsuite/tests/typing-modules/firstclass.ml typo.long-line
|
|
|
|
testsuite/tests/typing-gadts/test.ml typo.long-line
|
|
|
|
testsuite/tests/typing-gadts/pr7160.ml typo.long-line
|
|
|
|
testsuite/tests/typing-modules/pr7726.ml typo.long-line
|
2018-06-07 05:28:44 -07:00
|
|
|
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
tools/magic typo.missing-header
|
2016-02-16 04:23:31 -08:00
|
|
|
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
yacc/*.[ch] typo.long-line typo.very-long-line=may
|
2016-02-16 04:23:31 -08:00
|
|
|
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
menhir-bench.bash typo.missing-header typo.utf8
|
2018-07-14 15:10:09 -07:00
|
|
|
|
|
|
|
# bootstrap files produced by Menhir
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
/boot/menhir/** typo.long-line=may typo.very-long-line=may
|
|
|
|
/boot/menhir/** typo.missing-header=may
|
|
|
|
/boot/menhir/** typo.white-at-eol=may
|
|
|
|
/boot/menhir/** typo.utf8=may
|
2018-07-14 15:10:09 -07:00
|
|
|
|
2015-12-12 05:33:31 -08:00
|
|
|
# Line-ending specifications, for Windows interoperability
|
|
|
|
*.sh text eol=lf
|
|
|
|
*.sh.in text eol=lf
|
|
|
|
*.awk text eol=lf
|
|
|
|
|
2018-06-08 02:46:42 -07:00
|
|
|
# ocamltest hooks which are used in the testsuite
|
|
|
|
*.check-program-output text eol=lf
|
|
|
|
*.run text eol=lf
|
2015-12-22 05:40:17 -08:00
|
|
|
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
/tools/ci/appveyor/appveyor_build.cmd text eol=crlf
|
|
|
|
|
2015-12-12 05:33:31 -08:00
|
|
|
configure text eol=lf
|
|
|
|
config/auto-aux/hasgot text eol=lf
|
|
|
|
config/auto-aux/hasgot2 text eol=lf
|
|
|
|
config/auto-aux/runtest text eol=lf
|
|
|
|
config/auto-aux/searchpath text eol=lf
|
|
|
|
config/auto-aux/solaris-ld text eol=lf
|
|
|
|
config/auto-aux/tryassemble text eol=lf
|
|
|
|
config/auto-aux/trycompile text eol=lf
|
|
|
|
config/gnu/config.guess text eol=lf
|
|
|
|
config/gnu/config.sub text eol=lf
|
|
|
|
ocamldoc/remove_DEBUG text eol=lf
|
2017-07-21 07:43:36 -07:00
|
|
|
ocamltest/getocamloptdefaultflags text eol=lf
|
2015-12-12 05:33:31 -08:00
|
|
|
stdlib/Compflags text eol=lf
|
|
|
|
stdlib/sharpbang text eol=lf
|
rework the relation between .gitattributes and ./tools/check-typo
Before this patch, check-typo is directed by a single git attribute,
ocaml-typo, which is used as a key to set a value:
ocaml-typo=long-line,missing-header
(the value here is `long-line,missing-header`, and the code splits the
comma later)
This model is very fragile because .gitattributes does not allow to
give attribute keys a collecting/aggregating semantic: each new
setting of the key removes the previous setting, instead of adding to
them. For example,
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
and
testsuite/tests/win-unicode/*.ml ocaml-typo=utf8
testsuite/tests/** ocaml-typo=missing-header
are not equivalent, and instead of using either one we would introduce
redundancy for robustness:
testsuite/tests/** ocaml-typo=missing-header
testsuite/tests/win-unicode/*.ml ocaml-typo=missing-header,utf8
With this patch, we switch to a model where each ocaml-typo setting is
its own attribute, of the form `typo.<<attribute>>`. The lines above
would be written, in either order:
testsuite/tests/** typo.missing-header
testsuite/tests/win-unicode/*.ml typo.utf8
Not only does this approach make our .gitattributes more robust, it
allows for a more fine-grained treatment of the "unused-prop"
marker. This was used as an attribute to say: don't make it in an
error if the given typo-rule is in fact respected (by default, opting
out of a typo-rule gives an error if the typo-rule is respected). But
because of the single-key nature of ocaml-typo, unused-prop would
range over all settings, not just one of them. For example
emacs/caml.el ocaml-typo=long-line,unused-prop,missing-header
seems to suggest that 'unused-prop' only qualifies the 'long-line'
rule, but in fact it also ranges over 'missing-header'. In contrast,
with this patch, we write the following:
emacs/caml.el typo.long-line=may typo.missing-header
the `=may` value setting is used to make an exception to a typo-rule
optional.
Interestingly, most .gitattributes lines worked without extra error
when I turned each unused-prop in a =may setting over the rule just
before, instead of all rules: our checking is now more precise than
before, better capturing the intent of the .gitattributes author.
As I had to rewrite parts of the check-typo code for this, I took the
opportunity to rename a couple variables speaking about SVN (now long
defunct) into more meaningful names:
- `$is_svn` => `$path_in_index`
- `$svnrules` => `$attr_rules`
2018-07-17 01:37:03 -07:00
|
|
|
tools/ci/inria/remove-sinh-primitive.patch text eol=lf
|
2015-12-12 05:33:31 -08:00
|
|
|
tools/check-typo text eol=lf
|
|
|
|
tools/ci-build text eol=lf
|
2015-12-23 05:57:10 -08:00
|
|
|
tools/msvs-promote-path text eol=lf
|
2015-12-12 05:33:31 -08:00
|
|
|
tools/gdb-macros text eol=lf
|
|
|
|
tools/magic text eol=lf
|
|
|
|
tools/make-opcodes text eol=lf
|
|
|
|
tools/make-package-macosx text eol=lf
|
|
|
|
tools/ocaml-objcopy-macosx text eol=lf
|
|
|
|
tools/ocamlmktop.tpl text eol=lf
|
|
|
|
tools/ocamlsize text eol=lf
|
2017-04-11 04:23:32 -07:00
|
|
|
tools/pre-commit-githook text eol=lf
|
2015-12-12 05:33:31 -08:00
|
|
|
|
|
|
|
# These two are cat scripts, so may not actually require this
|
|
|
|
config/auto-aux/sharpbang text eol=lf
|
|
|
|
config/auto-aux/sharpbang2 text eol=lf
|
|
|
|
|
|
|
|
# Similarly, these are all Perl scripts, so may not actually require this
|
|
|
|
manual/tools/caml-tex text eol=lf
|
|
|
|
manual/tools/format-intf text eol=lf
|
|
|
|
manual/tools/htmlcut text eol=lf
|
|
|
|
manual/tools/htmltbl text eol=lf
|
|
|
|
manual/tools/htmlthread text eol=lf
|
|
|
|
manual/tools/texexpand text eol=lf
|
2015-12-22 05:34:28 -08:00
|
|
|
|
2017-08-11 02:43:11 -07:00
|
|
|
# Tests which include references spanning multiple lines fail with \r\n
|
|
|
|
# endings, so use \n endings only, even on Windows.
|
2018-02-07 07:35:10 -08:00
|
|
|
testsuite/tests/basic-more/morematch.ml text eol=lf
|
|
|
|
testsuite/tests/basic-more/robustmatch.ml text eol=lf
|
2015-12-22 05:34:28 -08:00
|
|
|
testsuite/tests/parsing/*.ml text eol=lf
|
2016-09-02 02:01:22 -07:00
|
|
|
testsuite/tests/docstrings/empty.ml text eol=lf
|
2017-08-11 05:37:48 -07:00
|
|
|
testsuite/tests/functors/functors.ml text eol=lf
|
|
|
|
testsuite/tests/translprim/module_coercion.ml text eol=lf
|
2018-06-08 03:28:41 -07:00
|
|
|
testsuite/tests/typing-objects-bugs/pr3968_bad.ml text eol=lf
|
|
|
|
testsuite/tests/typing-recmod/t12bad.ml text eol=lf
|
|
|
|
testsuite/tests/typing-safe-linking/b_bad.ml text eol=lf
|
2017-01-29 03:32:41 -08:00
|
|
|
testsuite/tests/warnings/w04.ml text eol=lf
|
2018-02-07 07:35:10 -08:00
|
|
|
testsuite/tests/warnings/w04_failure.ml text eol=lf
|
2017-09-28 05:55:25 -07:00
|
|
|
testsuite/tests/warnings/w32.ml text eol=lf
|
2017-04-01 06:20:35 -07:00
|
|
|
|
|
|
|
# These are forced to \n to allow the Cygwin testsuite to pass on a
|
|
|
|
# Windows-checkout
|
|
|
|
testsuite/tests/formatting/margins.ml text eol=lf
|
2017-09-28 08:16:01 -07:00
|
|
|
testsuite/tests/letrec-disallowed/disallowed.ml text eol=lf
|
|
|
|
testsuite/tests/letrec-disallowed/extension_constructor.ml text eol=lf
|
2018-02-07 07:35:10 -08:00
|
|
|
testsuite/tests/letrec-disallowed/float_block_allowed.ml text eol=lf
|
|
|
|
testsuite/tests/letrec-disallowed/float_block_disallowed.ml text eol=lf
|
2017-09-28 08:16:01 -07:00
|
|
|
testsuite/tests/letrec-disallowed/generic_arrays.ml text eol=lf
|
2018-02-07 07:35:10 -08:00
|
|
|
testsuite/tests/letrec-disallowed/lazy_.ml text eol=lf
|
2017-09-28 08:16:01 -07:00
|
|
|
testsuite/tests/letrec-disallowed/module_constraints.ml text eol=lf
|
2018-02-07 07:35:10 -08:00
|
|
|
testsuite/tests/letrec-disallowed/unboxed.ml text eol=lf
|
2017-09-28 08:16:01 -07:00
|
|
|
testsuite/tests/letrec-disallowed/pr7215.ml text eol=lf
|
2018-02-07 07:35:10 -08:00
|
|
|
testsuite/tests/letrec-disallowed/pr7231.ml text eol=lf
|
2018-06-12 07:45:23 -07:00
|
|
|
testsuite/tests/letrec-disallowed/pr7706.ml text eol=lf
|
2017-08-11 04:32:26 -07:00
|
|
|
testsuite/tests/lexing/uchar_esc.ml text eol=lf
|
2017-04-01 06:20:35 -07:00
|
|
|
testsuite/tests/match-exception-warnings/exhaustiveness_warnings.ml text eol=lf
|
2018-02-07 07:35:10 -08:00
|
|
|
testsuite/tests/tool-toplevel/pr7060.ml text eol=lf
|
2017-04-01 06:20:35 -07:00
|
|
|
testsuite/tests/typing-extension-constructor/test.ml text eol=lf
|
|
|
|
testsuite/tests/typing-extensions/extensions.ml text eol=lf
|
|
|
|
testsuite/tests/typing-extensions/open_types.ml text eol=lf
|
|
|
|
testsuite/tests/typing-objects/Exemples.ml text eol=lf
|
|
|
|
testsuite/tests/typing-objects/pr5619_bad.ml text eol=lf
|
|
|
|
testsuite/tests/typing-objects/pr6123_bad.ml text eol=lf
|
|
|
|
testsuite/tests/typing-objects/pr6907_bad.ml text eol=lf
|
|
|
|
testsuite/tests/typing-objects/Tests.ml text eol=lf
|
|
|
|
testsuite/tests/typing-pattern_open/pattern_open.ml text eol=lf
|
|
|
|
testsuite/tests/typing-private/private.ml text eol=lf
|
|
|
|
testsuite/tests/typing-recordarg/recordarg.ml text eol=lf
|
|
|
|
testsuite/tests/typing-short-paths/pr5918.ml text eol=lf
|
|
|
|
testsuite/tests/typing-sigsubst/sigsubst.ml text eol=lf
|
|
|
|
testsuite/tests/typing-typeparam/newtype.ml text eol=lf
|
|
|
|
testsuite/tests/typing-unboxed/test.ml text eol=lf
|
|
|
|
testsuite/tests/typing-unboxed-types/test.ml text eol=lf
|
|
|
|
testsuite/tests/typing-warnings/ambiguous_guarded_disjunction.ml text eol=lf
|
2017-07-10 02:42:49 -07:00
|
|
|
testsuite/tests/typing-warnings/application.ml text eol=lf
|
2017-04-01 06:20:35 -07:00
|
|
|
testsuite/tests/typing-warnings/coercions.ml text eol=lf
|
|
|
|
testsuite/tests/typing-warnings/exhaustiveness.ml text eol=lf
|
2017-08-11 04:32:26 -07:00
|
|
|
testsuite/tests/typing-warnings/pr6587.ml text eol=lf
|
2017-04-01 06:20:35 -07:00
|
|
|
testsuite/tests/typing-warnings/pr6872.ml text eol=lf
|
|
|
|
testsuite/tests/typing-warnings/pr7085.ml text eol=lf
|
|
|
|
testsuite/tests/typing-warnings/pr7115.ml text eol=lf
|
2017-08-11 04:32:26 -07:00
|
|
|
testsuite/tests/typing-warnings/pr7261.ml text eol=lf
|
2017-07-10 02:42:49 -07:00
|
|
|
testsuite/tests/typing-warnings/pr7297.ml text eol=lf
|
2017-09-28 08:16:01 -07:00
|
|
|
testsuite/tests/typing-warnings/pr7553.ml text eol=lf
|
2017-04-01 06:20:35 -07:00
|
|
|
testsuite/tests/typing-warnings/records.ml text eol=lf
|
|
|
|
testsuite/tests/typing-warnings/unused_types.ml text eol=lf
|