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
|
|
|
|
|
2018-10-17 02:16:20 -07:00
|
|
|
# It is not possible to wrap lines lines in .gitattributes files
|
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
|
|
|
.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
|
|
|
|
2019-07-01 22:59:20 -07:00
|
|
|
/boot/menhir/parser.ml* -diff
|
|
|
|
|
2020-08-19 11:55:07 -07:00
|
|
|
# configure is a shell-script; the linguist-generated attribute suppresses
|
|
|
|
# changes being displayed by default in pull requests.
|
|
|
|
/configure text eol=lf -diff linguist-generated
|
2019-03-18 06:17:19 -07: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
|
2018-11-04 09:12:19 -08:00
|
|
|
stdlib/*.mld typo.missing-header
|
2019-03-14 16:01:48 -07:00
|
|
|
tools/mantis2gh_stripped.csv typo.missing-header
|
2018-10-17 02:16:20 -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
|
|
|
*.adoc typo.long-line=may
|
|
|
|
|
2020-05-04 06:24:48 -07:00
|
|
|
# Github templates and scripts lack headers, have long lines
|
|
|
|
/.github/** typo.missing-header typo.long-line=may typo.very-long-line=may
|
|
|
|
|
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
|
|
|
/.mailmap typo.long-line typo.missing-header typo.non-ascii
|
|
|
|
/.merlin typo.missing-header
|
|
|
|
/Changes typo.utf8 typo.missing-header
|
2020-07-07 08:52:05 -07:00
|
|
|
/release-info/News typo.utf8 typo.missing-header
|
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
|
|
|
/INSTALL typo.missing-header
|
2018-10-17 01:49:23 -07:00
|
|
|
/LICENSE 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!
|
2018-10-17 01:49:23 -07:00
|
|
|
/tools/ci/appveyor/appveyor_build.cmd typo.very-long-line typo.missing-header typo.non-ascii
|
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.sh typo.non-ascii
|
2020-09-11 07:01:14 -07:00
|
|
|
/tools/ci/inria/bootstrap/remove-sinh-primitive.patch typo.prune
|
2020-07-07 08:52:05 -07:00
|
|
|
/release-info/howto.md typo.missing-header typo.long-line
|
|
|
|
/release-info/templates/*.md typo.missing-header typo.very-long-line=may
|
2018-07-16 16:13:24 -07:00
|
|
|
# ignore auto-generated .depend files
|
2018-07-17 02:28:09 -07:00
|
|
|
.depend typo.prune
|
2018-10-17 01:18:36 -07:00
|
|
|
/.depend.menhir typo.prune
|
2018-07-16 16:13:24 -07:00
|
|
|
|
|
|
|
# Makefiles may contain tabs
|
|
|
|
Makefile* typo.tab=may
|
|
|
|
|
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
|
2018-10-04 05:32:14 -07:00
|
|
|
|
2018-11-07 05:28:51 -08:00
|
|
|
# The build-aux directory contains bundled files so do not check it
|
|
|
|
build-aux typo.prune
|
|
|
|
|
2018-07-15 02:28:41 -07:00
|
|
|
/manual typo.prune
|
|
|
|
/manual/** typo.prune
|
2015-11-03 08:32:50 -08:00
|
|
|
|
2018-11-07 05:28:51 -08:00
|
|
|
# configure is generated so do not check it
|
|
|
|
configure typo.prune
|
|
|
|
|
2019-04-12 05:04:06 -07:00
|
|
|
ocaml-variants.opam typo.prune
|
|
|
|
|
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
|
2018-10-17 02:16:20 -07:00
|
|
|
emacs/COPYING typo.prune
|
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/ocamltags.in typo.non-printing
|
2015-11-03 08:32:50 -08:00
|
|
|
|
2018-07-17 02:28:09 -07:00
|
|
|
ocamldoc/** typo.long-line=may
|
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
|
|
|
stdlib/hashbang typo.white-at-eol typo.missing-lf
|
2018-06-20 08:43:29 -07:00
|
|
|
|
2018-10-19 14:51:55 -07:00
|
|
|
testsuite/tests/** typo.missing-header typo.long-line=may
|
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/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/win-unicode/*.ml typo.utf8
|
2020-09-17 01:41:16 -07:00
|
|
|
testsuite/tests/asmgen/immediates.cmm typo.very-long-line
|
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/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-07-16 16:13:24 -07:00
|
|
|
# prune testsuite reference files
|
|
|
|
testsuite/tests/**/*.reference typo.prune
|
|
|
|
|
2018-06-07 05:28:44 -07:00
|
|
|
# Expect tests with overly long lines of expected output
|
2018-10-17 01:49:23 -07:00
|
|
|
testsuite/tests/parsing/docstrings.ml typo.very-long-line
|
2018-06-07 05:28:44 -07:00
|
|
|
|
2020-07-25 02:04:31 -07:00
|
|
|
# The normalisation tests have very specific line endings which mustn't be
|
|
|
|
# corrupted by git.
|
|
|
|
testsuite/tests/tool-ocamltest/norm*.reference binary
|
|
|
|
|
2019-11-15 04:52:35 -08:00
|
|
|
tools/magic typo.missing-header
|
|
|
|
tools/eventlog_metadata.in typo.missing-header
|
2016-02-16 04:23:31 -08:00
|
|
|
|
2018-10-17 01:18:36 -07:00
|
|
|
# TODO we should fix the long-line errors in yacc/*.c
|
2018-10-17 01:49:23 -07:00
|
|
|
/yacc/*.[ch] 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-11-07 05:28:51 -08:00
|
|
|
*.m4 text eol=lf
|
2015-12-12 05:33:31 -08:00
|
|
|
|
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
|
|
|
|
|
2018-11-07 05:28:51 -08:00
|
|
|
configure.ac text eol=lf
|
|
|
|
build-aux/compile text eol=lf
|
|
|
|
build-aux/config.guess text eol=lf
|
|
|
|
build-aux/config.sub text eol=lf
|
|
|
|
build-aux/install text eol=lf
|
|
|
|
build-aux/missing text eol=lf
|
2015-12-12 05:33:31 -08:00
|
|
|
ocamldoc/remove_DEBUG text eol=lf
|
2017-07-21 07:43:36 -07:00
|
|
|
ocamltest/getocamloptdefaultflags text eol=lf
|
2019-11-29 03:10:33 -08:00
|
|
|
ocamltest/ocamltest.org typo.long-line=may typo.missing-header
|
2019-04-11 06:52:41 -07:00
|
|
|
stdlib/Compflags text eol=lf
|
2015-12-12 05:33:31 -08:00
|
|
|
stdlib/sharpbang text eol=lf
|
2018-12-04 02:29:02 -08:00
|
|
|
tools/autogen 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
|
2018-07-14 03:38:28 -07:00
|
|
|
tools/markdown-add-pr-links.sh text eol=lf
|
2018-11-07 05:28:51 -08:00
|
|
|
runtime/caml/m.h.in text eol=lf
|
|
|
|
runtime/caml/s.h.in text eol=lf
|
2019-12-26 00:49:30 -08:00
|
|
|
runtime/caml/compatibility.h typo.long-line=may
|
2015-12-12 05:33:31 -08:00
|
|
|
|
2019-06-10 04:23:18 -07:00
|
|
|
# These are all Perl scripts, so may not actually require this
|
2015-12-12 05:33:31 -08:00
|
|
|
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.
|
2019-10-15 04:22:23 -07:00
|
|
|
testsuite/tests/basic-modules/anonymous.ml text eol=lf
|
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
|
2018-11-24 11:07:45 -08:00
|
|
|
testsuite/tests/tool-ocamlc-stop-after/stop_after_parsing_impl.ml text eol=lf
|
|
|
|
testsuite/tests/tool-ocamlc-stop-after/stop_after_parsing_intf.mli text eol=lf
|
|
|
|
testsuite/tests/tool-ocamlc-stop-after/stop_after_typing_impl.ml text eol=lf
|
|
|
|
testsuite/tests/tool-toplevel/error_highlighting.ml text eol=lf
|
|
|
|
testsuite/tests/tool-toplevel/error_highlighting_use4.ml text eol=lf
|
2017-08-11 05:37:48 -07:00
|
|
|
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
|
2018-11-24 11:07:45 -08:00
|
|
|
testsuite/tests/typing-ocamlc-i/pr7402.ml text eol=lf
|
|
|
|
testsuite/tests/typing-ocamlc-i/pervasives_leitmotiv.ml text eol=lf
|
2018-06-08 03:28:41 -07:00
|
|
|
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
|
2018-11-24 13:05:14 -08:00
|
|
|
testsuite/tests/letrec-check/pr7706.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
|
2018-10-28 15:21:03 -07:00
|
|
|
testsuite/tests/typing-unboxed-types/test_flat.ml text eol=lf
|
|
|
|
testsuite/tests/typing-unboxed-types/test_no_flat.ml text eol=lf
|
2017-04-01 06:20:35 -07:00
|
|
|
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
|