* [PATCH] Document disabling core.whitespace values trailing-space and space-before-tab
@ 2008-07-24 5:34 "Peter Valdemar Mørch (Lists)"
2008-07-24 8:29 ` Nanako Shiraishi
2008-07-25 7:28 ` Junio C Hamano
0 siblings, 2 replies; 8+ messages in thread
From: "Peter Valdemar Mørch (Lists)" @ 2008-07-24 5:34 UTC (permalink / raw)
To: git
[-- Attachment #1: Type: text/plain, Size: 1252 bytes --]
From http://article.gmane.org/gmane.comp.version-control.git/68146 I got
the syntax that works:
git config core.whitespace "-trailing-space"
Is it me, or is this not readable from git help config which says:
> A comma separated list of common whitespace problems to notice. git
> diff will use color.diff.whitespace to highlight them, and git apply
> --whitespace=error will consider them as errors:
>
> · trailing-space treats trailing whitespaces at the end of the line
> as an error (enabled by default).
The '-trailing-space' syntax to disable the trailing-space setting is
not obvious and not documented as far as I can see. I would have assumed
a value of '' would disable it.
Is there a documentation bug here? If so, I suggest this patch. I didn't
find anywhere else where the '-setting' syntax was used to disable
something.
My first-ever git patch is attached, because Thunderbird messes up due
to wrapping. I realize that SubmittingPatches has a mini-guide for
reconfiguring Thunderbird (ver 1!), but I really prefer not to have to
add extensions and reconfigure Thunderbird to send patches. (Comments to
this and how the patch was made are welcome and encouraged)
Peter
--
Peter Valdemar Mørch
http://www.morch.com
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Document-disabling-core.whitespace-values-trailing-s.patch --]
[-- Type: text/x-patch; name="0001-Document-disabling-core.whitespace-values-trailing-s.patch", Size: 1424 bytes --]
>From 900455ce5a4e8bf771aea2e3dbdbab38e440cdf4 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Peter=20Valdemar=20M=C3=B8rch?= <peter@morch.com>
Date: Thu, 24 Jul 2008 07:18:48 +0200
Subject: [PATCH] Document disabling core.whitespace values trailing-space and space-before-tab
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Peter Valdemar Mørch <peter@morch.com>
---
Documentation/config.txt | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index e784805..a198b3c 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -361,10 +361,12 @@ core.whitespace::
consider them as errors:
+
* `trailing-space` treats trailing whitespaces at the end of the line
- as an error (enabled by default).
+ as an error (enabled by default - disable with 'git config core.whitespace
+ "-trailing-space"').
* `space-before-tab` treats a space character that appears immediately
before a tab character in the initial indent part of the line as an
- error (enabled by default).
+ error (enabled by default - disable with 'git config core.whitespace
+ "-space-before-tab"').
* `indent-with-non-tab` treats a line that is indented with 8 or more
space characters as an error (not enabled by default).
* `cr-at-eol` treats a carriage-return at the end of line as
--
1.5.6
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] Document disabling core.whitespace values trailing-space and space-before-tab
2008-07-24 5:34 [PATCH] Document disabling core.whitespace values trailing-space and space-before-tab "Peter Valdemar Mørch (Lists)"
@ 2008-07-24 8:29 ` Nanako Shiraishi
2008-07-24 9:41 ` "Peter Valdemar Mørch (Lists)"
2008-07-25 4:44 ` Junio C Hamano
2008-07-25 7:28 ` Junio C Hamano
1 sibling, 2 replies; 8+ messages in thread
From: Nanako Shiraishi @ 2008-07-24 8:29 UTC (permalink / raw)
To: "Peter Valdemar Mørch (Lists)"; +Cc: git
Quoting "Peter Valdemar Mrch (Lists)" <4ux6as402@sneakemail.com>:
> The '-trailing-space' syntax to disable the trailing-space setting is
> not obvious and not documented as far as I can see. I would have
> assumed a value of '' would disable it.
>
> Is there a documentation bug here? If so, I suggest this patch. I
> didn't find anywhere else where the '-setting' syntax was used to
> disable something.
Doesn't gitattributes(5) describe the overall syntax in detail?
--
Nanako Shiraishi
http://ivory.ap.teacup.com/nanako3/
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Document disabling core.whitespace values trailing-space and space-before-tab
2008-07-24 8:29 ` Nanako Shiraishi
@ 2008-07-24 9:41 ` "Peter Valdemar Mørch (Lists)"
2008-07-25 4:44 ` Junio C Hamano
1 sibling, 0 replies; 8+ messages in thread
From: "Peter Valdemar Mørch (Lists)" @ 2008-07-24 9:41 UTC (permalink / raw)
To: Nanako Shiraishi; +Cc: git
Actually, it gets stranger and stranger!
Nanako Shiraishi nanako3-at-lavabit.com |Lists| wrote:
>> The '-trailing-space' syntax to disable the trailing-space setting
>> is not obvious and not documented as far as I can see. I would have
>> assumed a value of '' would disable it.
>
> Doesn't gitattributes(5) describe the overall syntax in detail?
First, git-config.1 does not mention gitattributes except for specific
settings. core.whitespace is not one of these.
gitattributes.5 has:
> Sometimes you would need to override an setting of an attribute for a
> path to unspecified state. This can be done by listing the name of
> the attribute prefixed with an exclamation point !.
note that this is ! before the *name* of the attribute, and for
"Checking whitespace errors / whitespace":
> The core.whitespace configuration variable allows you to define what
> diff and apply should consider whitespace errors for all paths in the
> project (See git-config(1)). This attribute gives you finer control
> per path.
...
> Unspecified: Use the value of core.whitespace configuration variable
> to decide what to notice as error.
>
> String: Specify a comma separate list of common whitespace problems
> to notice in the same format as core.whitespace configuration
> variable.
So now, git attributes says to unspecify a setting with '!' in front of
the attribute *name*, which for core.whitespace means use the value from
git-config, which if not specified means to error on e.g. trailing-space.
Now, I notice that git's own .gitattributes has this:
> * whitespace=!indent,trail,space
> *.[ch] whitespace
Which I assume actually works, but is invalid according to git-config.1
and gitattributes.5 because:
For the first line, neither of the values 'indent', 'trail' nor 'space'
are valid for core.whitespace, and the '!' notation is not defined in
neither gitattributes.5 nor in git-config.1 for *values*.
For the second line, gitattributes states generally about attributes that:
> Set: The path has the attribute with special value "true"; this is
> specified by listing only the name of the attribute in the attribute
> list.
A value of true (unspecified would have required:"*.[ch] !whitespace")
is not valid for core.whitespace either.
So now (as I read it), neither git-config.1 nor gitattributes.5 specify
how to turn off core.whitespace "elements", but .gitattributes (from git
itself) uses one notation (!) with settings that are invalid for other
reaons, while "grep core.whitespace t/*" uses another notation (-) to
turn off elements.
Also in t/* the elements have various different names, such as: "trail",
"trailing", "trailing-space". t/t4019-diff-wserror.sh also uses this:
> echo "F whitespace=-trail" >.gitattributes
just to make things interesting!
It seems that there is some inconsistency about this. Perhaps
documentation (and changing t/* and .gitattributes accordingly) isn't
such a bad idea! :D
Peter
--
Peter Valdemar Mørch
http://www.morch.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Document disabling core.whitespace values trailing-space and space-before-tab
2008-07-24 8:29 ` Nanako Shiraishi
2008-07-24 9:41 ` "Peter Valdemar Mørch (Lists)"
@ 2008-07-25 4:44 ` Junio C Hamano
2008-07-25 6:11 ` Peter Valdemar Mørch
` (2 more replies)
1 sibling, 3 replies; 8+ messages in thread
From: Junio C Hamano @ 2008-07-25 4:44 UTC (permalink / raw)
To: Nanako Shiraishi; +Cc: Peter Valdemar Mørch (Lists), git
Nanako Shiraishi <nanako3@lavabit.com> writes:
> Quoting "Peter Valdemar Mrch (Lists)" <4ux6as402@sneakemail.com>:
>
>> The '-trailing-space' syntax to disable the trailing-space setting is
>> not obvious and not documented as far as I can see. I would have
>> assumed a value of '' would disable it.
>>
>> Is there a documentation bug here? If so, I suggest this patch. I
>> didn't find anywhere else where the '-setting' syntax was used to
>> disable something.
>
> Doesn't gitattributes(5) describe the overall syntax in detail?
Yes, but as Peter says in his reply to you, it only talks about [-!]name
syntax to force the variable to unset (with '-' prefix) and to revert the
variable to the unspecified state (with '!' prefix).
Various "values" given to the whitespace attribute actually act as if they
are sub-variables and obey the similar "[-]name" rule, but (1) that is
left unsaid, and (2) in that context '!' does not make sense so only '-'
has any meaning. We would certainly need to clarify that.
So I think Peter's patch is going in the right direction.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Document disabling core.whitespace values trailing-space and space-before-tab
2008-07-25 4:44 ` Junio C Hamano
@ 2008-07-25 6:11 ` Peter Valdemar Mørch
2008-07-25 6:13 ` "Peter Valdemar Mørch (Lists)"
2008-07-25 8:49 ` Junio C Hamano
2 siblings, 0 replies; 8+ messages in thread
From: Peter Valdemar Mørch @ 2008-07-25 6:11 UTC (permalink / raw)
To: git
> So I think Peter's patch is going in the right direction.
Thus encouraged, I've created a file with two more patches like I
described in my previous mail: one that fixes up .gitattributes and one
that fixes up t/* to conform to documented syntax of core.whitespace.
(For the future: Is it better to have one file with tree patches like I
have created with git format-patch -M -s --stdout, 3 individual numbered
files, or one single patch created with git-merge --squash?)
Peter
--
Peter Valdemar Mørch
http://www.morch.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Document disabling core.whitespace values trailing-space and space-before-tab
2008-07-25 4:44 ` Junio C Hamano
2008-07-25 6:11 ` Peter Valdemar Mørch
@ 2008-07-25 6:13 ` "Peter Valdemar Mørch (Lists)"
2008-07-25 8:49 ` Junio C Hamano
2 siblings, 0 replies; 8+ messages in thread
From: "Peter Valdemar Mørch (Lists)" @ 2008-07-25 6:13 UTC (permalink / raw)
To: git
[-- Attachment #1: Type: text/plain, Size: 532 bytes --]
> So I think Peter's patch is going in the right direction.
Thus encouraged, I've created a file with two more patches like I
described in my previous mail: one that fixes up .gitattributes and one
that fixes up t/* to conform to documented syntax of core.whitespace.
(For the future: Is it better to have one file with tree patches like I
have created with "git format-patch -M -s --stdout", 3 individual
numbered files, or one single patch created with git-merge --squash?)
Peter
--
Peter Valdemar Mørch
http://www.morch.com
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: core.whitespace.patch --]
[-- Type: text/x-patch; name="core.whitespace.patch", Size: 5595 bytes --]
>From 900455ce5a4e8bf771aea2e3dbdbab38e440cdf4 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Peter=20Valdemar=20M=C3=B8rch?= <peter@morch.com>
Date: Thu, 24 Jul 2008 07:18:48 +0200
Subject: [PATCH] Document disabling core.whitespace values trailing-space and space-before-tab
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Peter Valdemar Mørch <peter@morch.com>
---
Documentation/config.txt | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index e784805..a198b3c 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -361,10 +361,12 @@ core.whitespace::
consider them as errors:
+
* `trailing-space` treats trailing whitespaces at the end of the line
- as an error (enabled by default).
+ as an error (enabled by default - disable with 'git config core.whitespace
+ "-trailing-space"').
* `space-before-tab` treats a space character that appears immediately
before a tab character in the initial indent part of the line as an
- error (enabled by default).
+ error (enabled by default - disable with 'git config core.whitespace
+ "-space-before-tab"').
* `indent-with-non-tab` treats a line that is indented with 8 or more
space characters as an error (not enabled by default).
* `cr-at-eol` treats a carriage-return at the end of line as
--
1.5.6
>From c73dd588bef2a56fc44af2ce10cedef1b779a510 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Peter=20Valdemar=20M=C3=B8rch?= <peter@morch.com>
Date: Fri, 25 Jul 2008 07:33:07 +0200
Subject: [PATCH] Fixed up .gitattributes to allign with git-config.1
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Peter Valdemar Mørch <peter@morch.com>
---
.gitattributes | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.gitattributes b/.gitattributes
index 6b9c715..1a903b6 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,2 @@
-* whitespace=!indent,trail,space
-*.[ch] whitespace
+* whitespace=-indent-with-non-tab,trailing-space,space-before-tab
+*.[ch] !whitespace
--
1.5.6
>From 45889568fec2b952e10aef2fac78ba6dfda9f46d Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Peter=20Valdemar=20M=C3=B8rch?= <peter@morch.com>
Date: Fri, 25 Jul 2008 07:59:24 +0200
Subject: [PATCH] tests now use git-config's core.whitespace only with documented values
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Peter Valdemar Mørch <peter@morch.com>
---
t/t4019-diff-wserror.sh | 14 +++++++-------
t/t4124-apply-ws-rule.sh | 4 ++--
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/t/t4019-diff-wserror.sh b/t/t4019-diff-wserror.sh
index 0d9cbb6..ecff30d 100755
--- a/t/t4019-diff-wserror.sh
+++ b/t/t4019-diff-wserror.sh
@@ -33,9 +33,9 @@ test_expect_success default '
'
-test_expect_success 'without -trail' '
+test_expect_success 'without -trailing-space' '
- git config core.whitespace -trail
+ git config core.whitespace -trailing-space
git diff --color >output
grep "$blue_grep" output >error
grep -v "$blue_grep" output >normal
@@ -48,10 +48,10 @@ test_expect_success 'without -trail' '
'
-test_expect_success 'without -trail (attribute)' '
+test_expect_success 'without -trailing-space (attribute)' '
git config --unset core.whitespace
- echo "F whitespace=-trail" >.gitattributes
+ echo "F whitespace=-trailing-space" >.gitattributes
git diff --color >output
grep "$blue_grep" output >error
grep -v "$blue_grep" output >normal
@@ -99,7 +99,7 @@ test_expect_success 'without -space (attribute)' '
test_expect_success 'with indent-non-tab only' '
rm -f .gitattributes
- git config core.whitespace indent,-trailing,-space
+ git config core.whitespace indent-with-non-tab,-trailing-space,-space-before-tab
git diff --color >output
grep "$blue_grep" output >error
grep -v "$blue_grep" output >normal
@@ -115,7 +115,7 @@ test_expect_success 'with indent-non-tab only' '
test_expect_success 'with indent-non-tab only (attribute)' '
git config --unset core.whitespace
- echo "F whitespace=indent,-trailing,-space" >.gitattributes
+ echo "F whitespace=indent-with-non-tab,-trailing-space,-space-before-tab" >.gitattributes
git diff --color >output
grep "$blue_grep" output >error
grep -v "$blue_grep" output >normal
@@ -147,7 +147,7 @@ test_expect_success 'with cr-at-eol' '
test_expect_success 'with cr-at-eol (attribute)' '
git config --unset core.whitespace
- echo "F whitespace=trailing,cr-at-eol" >.gitattributes
+ echo "F whitespace=trailing-space,cr-at-eol" >.gitattributes
git diff --color >output
grep "$blue_grep" output >error
grep -v "$blue_grep" output >normal
diff --git a/t/t4124-apply-ws-rule.sh b/t/t4124-apply-ws-rule.sh
index 85f3da2..644aadc 100755
--- a/t/t4124-apply-ws-rule.sh
+++ b/t/t4124-apply-ws-rule.sh
@@ -106,7 +106,7 @@ test_expect_success 'whitespace=error-all, default rule' '
test_expect_success 'whitespace=error-all, no rule' '
- git config core.whitespace -trailing,-space-before,-indent &&
+ git config core.whitespace -trailing-space,-space-before-tab,-indent-with-non-tab &&
apply_patch --whitespace=error-all &&
diff file target
@@ -130,7 +130,7 @@ do
for i in - ''
do
case "$i" in '') ti='#' ;; *) ti= ;; esac
- rule=${t}trailing,${s}space,${i}indent
+ rule=${t}trailing-space,${s}space-before-tab,${i}indent-with-non-tab
rm -f .gitattributes
test_expect_success "rule=$rule" '
--
1.5.6
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] Document disabling core.whitespace values trailing-space and space-before-tab
2008-07-24 5:34 [PATCH] Document disabling core.whitespace values trailing-space and space-before-tab "Peter Valdemar Mørch (Lists)"
2008-07-24 8:29 ` Nanako Shiraishi
@ 2008-07-25 7:28 ` Junio C Hamano
1 sibling, 0 replies; 8+ messages in thread
From: Junio C Hamano @ 2008-07-25 7:28 UTC (permalink / raw)
To: Peter Valdemar Mørch (Lists); +Cc: git
"Peter Valdemar Mørch (Lists)" <4ux6as402@sneakemail.com> writes:
> This is a multi-part message in MIME format.
> --------------080005060106030305090009
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> Content-Transfer-Encoding: 8bit
> ...
> --------------080005060106030305090009
> Content-Type: text/x-patch;
> name="0001-Document-disabling-core.whitespace-values-trailing-s.patch"
> Content-Transfer-Encoding: 8bit
Please do not send patch as attachment. It is very cumbersome to handle.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Document disabling core.whitespace values trailing-space and space-before-tab
2008-07-25 4:44 ` Junio C Hamano
2008-07-25 6:11 ` Peter Valdemar Mørch
2008-07-25 6:13 ` "Peter Valdemar Mørch (Lists)"
@ 2008-07-25 8:49 ` Junio C Hamano
2 siblings, 0 replies; 8+ messages in thread
From: Junio C Hamano @ 2008-07-25 8:49 UTC (permalink / raw)
To: Nanako Shiraishi; +Cc: Peter Valdemar Mørch (Lists), git
Junio C Hamano <gitster@pobox.com> writes:
> Various "values" given to the whitespace attribute actually act as if they
> are sub-variables and obey the similar "[-]name" rule, but (1) that is
> left unsaid, and (2) in that context '!' does not make sense so only '-'
> has any meaning.
Actually I take it back. "!name to revert to unspecified and -name to unset"
really is about name; values to whitespace do not work like "sub-variables"
at all.
> So I think Peter's patch is going in the right direction.
I've committed a much more simplified version.
-- >8 --
[PATCH] Documentation: clarify how to diable elements in core.whitespace
Noticed by Peter Valdemar Mørch.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff --git a/Documentation/config.txt b/Documentation/config.txt
index e784805..798b551 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -358,7 +358,8 @@ core.whitespace::
A comma separated list of common whitespace problems to
notice. 'git-diff' will use `color.diff.whitespace` to
highlight them, and 'git-apply --whitespace=error' will
- consider them as errors:
+ consider them as errors. You can prefix `-` to disable
+ any of them (e.g. `-trailing-space`):
+
* `trailing-space` treats trailing whitespaces at the end of the line
as an error (enabled by default).
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2008-07-25 8:50 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-24 5:34 [PATCH] Document disabling core.whitespace values trailing-space and space-before-tab "Peter Valdemar Mørch (Lists)"
2008-07-24 8:29 ` Nanako Shiraishi
2008-07-24 9:41 ` "Peter Valdemar Mørch (Lists)"
2008-07-25 4:44 ` Junio C Hamano
2008-07-25 6:11 ` Peter Valdemar Mørch
2008-07-25 6:13 ` "Peter Valdemar Mørch (Lists)"
2008-07-25 8:49 ` Junio C Hamano
2008-07-25 7:28 ` Junio C Hamano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).