什么是“1行添加空白错误”是什么意思,当应用补丁?
我正在编辑一个克隆的远程仓库的一些markdown文件,并且想要testing从一个分支到另一个分支的创build和应用补丁。 但是,每次我进行任何更改时,都会在git apply
收到以下消息:
0001-b.patch:16: trailing whitespace. warning: 1 line adds whitespace errors.
(这是发生在我的Mac上,我不知道原始代码的创build位置。)
警告信息是什么意思,我需要关心吗?
你不需要关心。
这个警告提供了一个关于空白的文本文件的清洁标准,这是许多程序员倾向于关心的东西。 正如手册所述 :
什么是空白错误是由core.whitespaceconfiguration控制的。 默认情况下,尾随空格(包括单独由空格组成的行)和空格字符紧跟在行的初始缩进内的制表符后面将被视为空格错误。
默认情况下,该命令输出警告消息,但应用修补程序。
所以,“错误”意味着更改引入了一个尾随空白,一个只有空白的行,或一个选项卡之前的空格。 除了这个事实之外,这个变化没有什么错误,而且它会清楚而正确地应用。 换句话说,如果你不关心“不正确”的空白,可以随意忽略这个警告,或者用git config apply.whitespace nowarn
把它关掉。
一种情况是,当你想要区分“旧”whitespase错误(你可能想要保留的遗留原因)和“新”空白错误(你想避免)时,你可以合理关心。
为此,Git 2.5+(Q2 2015)将为空白检测提出更具体的选项。
参见提交0e383e1,0ad782f和d55ef3e [2015年5月26日] Junio C gitster
( gitster
) 。
(由Junio合并于2015年6月11日承诺709cd91 )
diff.c
:–--ws-error-highlight=<kind>
选项传统上,我们只关心新行中引入的空白破坏。
有些人也想在旧线上画空白破损。 当他们在一个新的行中看到一个空白时,他们可以在相应的旧行上发现同样types的空白破坏,并且想要说:“啊,那些破坏在那里,但是它们是从原来inheritance的,所以我们不要碰它们现在。”引入
--ws-error-highlight=<kind>
选项,让它们传递old
,new
和context
的逗号分隔列表,以指定在哪些行上突出显示空白错误。
该文档现在包括 :
--ws-error-highlight=<kind>
在由
color.diff.whitespace
指定的颜色中<kind>
color.diff.whitespace
<kind>
指定的行上突出显示空白错误。
<kind>
是old
,new
,context
的逗号分隔列表。
当没有给出这个选项时,只会突出显示new
行中的空格错误。例如
--ws-error-highlight=new,old
高亮显示删除和添加行上的空格错误。
all
都可以作为old,new,context
的短手。
例如,旧的提交有一个空白错误( bbb
),但是你可以只关注新的错误( still bbb
和ccc
):
(在t/t4015-diff-whitespace.sh
之后完成testing)
此处显示可视图像的空白错误。
http://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project#Commit-Guidelines
因为用TAB
开始的行是SPACE
。 去补丁文件并用SPACE
replaceTAB
。 例如,在vim中,从修补程序文件typesx的行+删除空间,并不删除sign +并将eqiv上的空格(CTRL)删除到原始大小。