Use gitattributes to define per-path whitespace rule
authorJunio C Hamano <gitster@pobox.com>
Thu, 6 Dec 2007 08:14:14 +0000 (00:14 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 6 Dec 2007 08:45:30 +0000 (00:45 -0800)
commitcf1b7869f0c571bbd4f72a4355d9aca558baa0da
treeb299d53c5f9a2a8be72f819e26f49421ed6c45bc
parent91af7ae54f2a0af453c3a5ac612ed613b38b4fdf
Use gitattributes to define per-path whitespace rule

The `core.whitespace` configuration variable allows you to define what
`diff` and `apply` should consider whitespace errors for all paths in
the project (See gitlink:git-config[1]).  This attribute gives you finer
control per path.

For example, if you have these in the .gitattributes:

    frotz   whitespace
    nitfol  -whitespace
    xyzzy   whitespace=-trailing

all types of whitespace problems known to git are noticed in path 'frotz'
(i.e. diff shows them in diff.whitespace color, and apply warns about
them), no whitespace problem is noticed in path 'nitfol', and the
default types of whitespace problems except "trailing whitespace" are
noticed for path 'xyzzy'.  A project with mixed Python and C might want
to have:

    *.c    whitespace
    *.py   whitespace=-indent-with-non-tab

in its toplevel .gitattributes file.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/gitattributes.txt
Makefile
builtin-apply.c
cache.h
config.c
diff.c
environment.c
t/t4019-diff-wserror.sh
t/t4124-apply-ws-rule.sh
ws.c [new file with mode: 0644]