summaryrefslogtreecommitdiff
path: root/.gitattributes
blob: ac1919061f44fe1a88489d45fc3359506df0d68a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
#**************************************************************************
#*                                                                        *
#*                                 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.          *
#*                                                                        *
#**************************************************************************

# Default behaviour, for if core.autocrlf isn't set
* text=auto

# Binary files
/boot/ocamlc binary
/boot/ocamllex binary
/boot/ocamldep binary
*.gif binary
*.png binary
*.tfm binary

# 'union' merge driver just unions textual content in case of conflict
#   http://krlmlr.github.io/using-gitattributes-to-avoid-merge-conflicts/
/.mailmap                merge=union


# 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

# No header for text files (would be too obtrusive).
*.md                     ocaml-typo=missing-header
README*                  ocaml-typo=missing-header
*.adoc                   ocaml-typo=missing-header,long-line,unused-prop

/.mailmap                ocaml-typo=long-line,missing-header,non-ascii
/.merlin                 ocaml-typo=missing-header
/Changes                 ocaml-typo=non-ascii,missing-header
/INSTALL                 ocaml-typo=missing-header
/LICENSE                 ocaml-typo=long-line,very-long-line,missing-header
/appveyor.yml            ocaml-typo=long-line,very-long-line


asmcomp/*/emit.mlp       ocaml-typo=tab,long-line,unused-prop
asmcomp/power/NOTES.md   ocaml-typo=missing-header,long-line

asmrun/i386.S            ocaml-typo=long-line

config/gnu               ocaml-typo=prune

emacs/*.el               ocaml-typo=long-line,unused-prop
emacs/COPYING            ocaml-typo=tab,non-printing,missing-header
emacs/ocamltags.in       ocaml-typo=non-printing

experimental             ocaml-typo=prune

manual                   ocaml-typo=prune

ocamlbuild/*             ocaml-typo=long-line
ocamlbuild/AUTHORS       ocaml-typo=missing-header
ocamlbuild/ChangeLog     ocaml-typo=tab,missing-header
ocamlbuild/TODO          ocaml-typo=missing-header

ocamldoc/Changes.txt     ocaml-typo=missing-header
ocamldoc/ocamldoc.sty    ocaml-typo=missing-header

otherlibs/win32unix/readlink.c    ocaml-typo=long-line
otherlibs/win32unix/stat.c        ocaml-typo=long-line
otherlibs/win32unix/symlink.c     ocaml-typo=long-line

stdlib/hashbang     ocaml-typo=white-at-eol,missing-lf

testsuite/tests/**                        ocaml-typo=missing-header
testsuite/tests/lib-bigarray-2/bigarrf.f  ocaml-typo=missing-header,tab
testsuite/tests/misc-unsafe/almabench.ml  ocaml-typo=missing-header,long-line
testsuite/typing                          ocaml-typo=missing-header

tools/magic         ocaml-typo=missing-header

yacc/*.[ch]   ocaml-typo=long-line,very-long-line,unused-prop

# Line-ending specifications, for Windows interoperability
*.sh text eol=lf
*.sh.in text eol=lf
*.awk text eol=lf

# Test suite command fragments
*.checker text eol=lf
*.precheck text eol=lf
*.runner text eol=lf

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
stdlib/Compflags text eol=lf
stdlib/sharpbang text eol=lf
tools/check-typo text eol=lf
tools/ci-build text eol=lf
tools/msvs-promote-path text eol=lf
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

# 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

# Tests which include references spanning multiple lines fail with \r\n
# endings, so use \n endings only, even on Windows.
testsuite/tests/parsing/*.ml text eol=lf
testsuite/tests/docstrings/empty.ml text eol=lf
testsuite/tests/functors/functors.ml text eol=lf
testsuite/tests/translprim/module_coercion.ml text eol=lf
testsuite/tests/warnings/w04.ml text eol=lf

# These are forced to \n to allow the Cygwin testsuite to pass on a
# Windows-checkout
testsuite/tests/formatting/margins.ml text eol=lf
testsuite/tests/lexing/uchar_esc.ml text eol=lf
testsuite/tests/match-exception-warnings/exhaustiveness_warnings.ml text eol=lf
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
testsuite/tests/typing-warnings/application.ml text eol=lf
testsuite/tests/typing-warnings/coercions.ml text eol=lf
testsuite/tests/typing-warnings/exhaustiveness.ml text eol=lf
testsuite/tests/typing-warnings/pr6587.ml text eol=lf
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
testsuite/tests/typing-warnings/pr7261.ml text eol=lf
testsuite/tests/typing-warnings/pr7297.ml text eol=lf
testsuite/tests/typing-warnings/records.ml text eol=lf
testsuite/tests/typing-warnings/unused_types.ml text eol=lf