programing

패치를 적용 할 때 "1 줄에 공백 오류 추가"란 무엇을 의미합니까?

nasanasas 2020. 8. 27. 07:51
반응형

패치를 적용 할 때 "1 줄에 공백 오류 추가"란 무엇을 의미합니까?


복제 된 원격 저장소의 일부 마크 다운 파일을 편집 중이며 한 분기에서 다른 분기로 패치 생성 및 적용을 테스트하고 싶었습니다. 그러나 변경을 할 때마다 다음 메시지가 표시됩니다 git apply.

0001-b.patch:16: trailing whitespace.
warning: 1 line adds whitespace errors.

(이것은 내 Mac에서 발생하며 원본 코드가 생성 된 위치를 모릅니다.)

경고 메시지는 무엇을 의미하며주의해야합니까?


신경 쓸 필요가 없습니다.

이 경고는 많은 프로그래머가 관심을 갖는 유형 인 공백과 관련하여 텍스트 파일의 청결 표준을 제정합니다. 매뉴얼을 설명합니다 :

공백 오류로 간주되는 것은 core.whitespace 구성에 의해 제어됩니다. 기본적으로 후행 공백 (공백으로 만 구성된 행 포함)과 행의 첫 들여 쓰기 내에서 바로 뒤에 탭 문자가 오는 공백 문자는 공백 오류로 간주됩니다.

기본적으로이 명령은 경고 메시지를 출력하지만 패치를 적용합니다.

따라서 "오류"는 변경으로 인해 후행 공백, 공백 전용 줄 또는 탭 앞에 공백이 있음을 의미합니다. 그 외에는 변경 사항에 오류가 없으며 깨끗하고 올바르게 적용됩니다. 즉, "잘못된"공백에 대해 신경 쓰지 않는 경우 경고를 무시하거나를 사용하여 해제 할 수 git config apply.whitespace nowarn있습니다.


합법적으로주의 할 수있는 한 가지 경우는 "오래된"whitespase 오류 (레거시 이유로 유지하고 싶을 수 있음)와 "새로운"공백 오류 (피하고 싶은)를 구분하려는 경우입니다.

이를 위해 Git 2.5+ (2015 년 2 분기)는 공백 감지를위한보다 구체적인 옵션을 제안 할 것입니다.

참조는 0e383e1 커밋 , 0ad782fd55ef3e 에 의해 [2015 5월 26일] Junio C 하마노을 ( gitster) .
( 2015 년 6 월 11 일 커밋 709cd91 에서 Junio의해 병합 됨 )

diff.c: --ws-error-highlight=<kind>옵션

전통적으로 우리는 새 줄에 도입 된 공백 파손에만 신경을 썼습니다.
어떤 사람들은 오래된 줄에도 공백을 칠하고 싶어합니다. 새 줄에서 공백이 깨지는 것을 볼 때 해당 이전 줄에서 동일한 종류의 공백이 깨지는 것을 발견하고 "아, 그 깨지는 부분이 있지만 원본에서 상속되었으므로 만지지 마십시오. 지금."

소개 --ws-error-highlight=<kind>그들을 쉼표 구분 된 목록에 합격 할 수 있다는 옵션을 old, new그리고 context에 공백 하이라이트에 오류가 어떤 선을 지정할 수 있습니다.

이제 문서에는 다음이 포함됩니다 .

--ws-error-highlight=<kind>

에 지정된 <kind>색상으로 지정된 행의 공백 오류를 강조 표시 합니다 color.diff.whitespace.
<kind>콤마 분리 된리스트는 old, new, context.
이 옵션을 지정하지 않으면 new줄의 공백 오류 만 강조 표시됩니다.

예를 들어 --ws-error-highlight=new,old삭제 및 추가 된 줄 모두에서 공백 오류를 강조 표시합니다.
all의 약어로 사용할 수 있습니다 old,new,context.

예를 들어, 이전 커밋에는 공백 오류 ( bbb) 가 하나 있었지만 새 오류에만 집중할 수 있습니다 ( still bbb끝에 있음 ccc).

이전 및 새 shitespace 오류

(이후에 수행 된 테스트 t/t4015-diff-whitespace.sh)


시각적 이미지의 공백 오류가 여기에 표시됩니다.

http://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project#Commit-Guidelines


라인 TABSPACE. 패치 파일로 이동 TAB하여 SPACE. 예를 들어 vim on line + 패치 파일 유형 x에서 공백을 제거하고 부호 +를 제거하지 않고 eqiv의 공백 (CTRL)을 원래 크기로 삽입합니다.

참고 URL : https://stackoverflow.com/questions/12396622/what-does-1-line-adds-whitespace-errors-mean-when-applying-a-patch

반응형