กรณีหนึ่งที่คุณสามารถดูแลได้อย่างถูกต้องคือเมื่อคุณต้องการแยกความแตกต่างระหว่างข้อผิดพลาดช่องว่าง "เก่า" (ซึ่งคุณอาจต้องการเก็บไว้เพื่อเหตุผลเดิม) และข้อผิดพลาดช่องว่าง "ใหม่" (ที่คุณต้องการหลีกเลี่ยง)
ด้วยเหตุนี้ Git 2.5+ (Q2 2015) จะเสนอตัวเลือกที่เฉพาะเจาะจงมากขึ้นสำหรับการตรวจจับช่องว่าง
ดูกระทำ 0e383e1 , 0ad782fและd55ef3e [26 พฤษภาคม 2015] โดยJunio C Hamano (gitster )
(ผสานโดยJunioในการกระทำ 709cd91 , 11 มิ.ย. 2015)
diff.c: --ws-error-highlight=<kind>option
ตามเนื้อผ้าเราสนใจเฉพาะการแตกของช่องว่างที่เกิดขึ้นในบรรทัดใหม่เท่านั้น
บางคนต้องการทาสีช่องว่างบนเส้นเก่าด้วย เมื่อพวกเขาเห็นช่องว่างแตกในบรรทัดใหม่พวกเขาสามารถมองเห็นการแตกของช่องว่างแบบเดียวกันบนบรรทัดเก่าที่สอดคล้องกันและต้องการพูดว่า "อามีรอยแตกเหล่านั้นอยู่ที่นั่น แต่มันได้รับการถ่ายทอดมาจากต้นฉบับดังนั้นอย่าแตะต้องมันเพื่อ ตอนนี้”
แนะนำ--ws-error-highlight=<kind>ตัวเลือกที่ช่วยให้พวกเขาผ่านจุลภาคคั่นรายการold, newและcontextสามารถระบุสิ่งที่สายที่จะไฮไลท์ช่องว่างข้อผิดพลาดใน
เอกสารขณะนี้รวมถึง :
--ws-error-highlight=<kind>
ข้อผิดพลาดไฮไลท์ช่องว่างในสายตามที่ระบุไว้ในสีที่ระบุโดย<kind> เป็นจุลภาคคั่นรายการ, ,
เมื่อไม่ได้ระบุตัวเลือกนี้จะมีการเน้นเฉพาะข้อผิดพลาดของช่องว่างในบรรทัดเท่านั้น color.diff.whitespace
<kind>oldnewcontext
new
เช่น--ws-error-highlight=new,oldไฮไลต์ข้อผิดพลาดช่องว่างทั้งบรรทัดที่ลบและเพิ่ม
allสามารถใช้เป็นแบบสั้นสำหรับold,new,context.
ตัวอย่างเช่นการกระทำเก่ามีข้อผิดพลาดช่องว่าง ( bbb) หนึ่งข้อแต่คุณสามารถมุ่งเน้นไปที่ข้อผิดพลาดใหม่เท่านั้น (ในตอนท้ายของstill bbbและccc):

(ทดสอบเสร็จแล้วt/t4015-diff-whitespace.sh)
ด้วย Git 2.26 (Q1 2020) กลุ่มคำdiff-*สั่งย่อยของระบบประปาตอนนี้ให้ความสำคัญกับการdiff.wsErrorHighlightกำหนดค่าซึ่งถูกละเลยมาก่อน ซึ่งจะช่วยให้ " git add -p" แสดงปัญหาช่องว่างแก่ผู้ใช้ปลายทาง
ดูกระทำ da80635 (31 มกราคม 2020) โดยเจฟฟ์คิง (peff )
(ผสานโดยJunio C Hamano - gitster-ในการกระทำ df04a31 , 14 ก.พ. 2020)
diff: ย้าย diff.wsErrorHighlight ไปที่ config "basic"
ลงนามโดย: Jeff King
เราแยกวิเคราะห์ diff.wsErrorHighlight git_diff_ui_config()ซึ่งหมายความว่าจะไม่มีผลกับคำสั่งประปาเฉพาะสำหรับ porcelains เช่นเดียวกับgit diffตัวมันเอง
นี้เป็นที่น่ารำคาญอย่างอ่อนโยนขณะที่มันหมายความว่าสคริปต์เช่นadd--interactiveซึ่งผลิตต่างใช้มองเห็นได้ด้วยสีไม่เคารพตัวเลือก
เราสามารถสอนสคริปต์นั้นให้แยกวิเคราะห์ config และส่งต่อไป--ws-error-highlightยัง diff ประปาได้ แต่มีวิธีที่ง่ายกว่านั้น
ควรมีความปลอดภัยพอสมควรสำหรับระบบประปาที่จะเคารพตัวเลือกนี้เนื่องจากจะเริ่มทำงานเมื่อเปิดใช้งานสีเท่านั้น และใครก็ตามที่แยกวิเคราะห์เอาต์พุตที่มีสีจะต้องจัดการกับความจริงที่color.diff.*อาจเปลี่ยนแปลงผลลัพธ์ที่แน่นอนที่พวกเขาเห็น ตัวเลือกเหล่านี้เป็นส่วนหนึ่งของgit_diff_basic_config()การเริ่มต้นใน9a1805a872 (เพิ่มการเรียกกลับ "พื้นฐาน" diff config, 2008-01-04, Git v1.5.4-rc3)
ดังนั้นเราจึงสามารถย้ายไปยังการกำหนดค่า "พื้นฐาน" ซึ่งจะแก้ไขadd--interactiveพร้อมกับสคริปต์อื่น ๆ ในเรือลำเดียวกันโดยมีความเสี่ยงต่ำมากที่จะทำร้ายผู้ใช้ระบบประปา