กรณีหนึ่งที่คุณสามารถดูแลได้อย่างถูกต้องคือเมื่อคุณต้องการแยกความแตกต่างระหว่างข้อผิดพลาดช่องว่าง "เก่า" (ซึ่งคุณอาจต้องการเก็บไว้เพื่อเหตุผลเดิม) และข้อผิดพลาดช่องว่าง "ใหม่" (ที่คุณต้องการหลีกเลี่ยง)
ด้วยเหตุนี้ 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>
old
new
context
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
พร้อมกับสคริปต์อื่น ๆ ในเรือลำเดียวกันโดยมีความเสี่ยงต่ำมากที่จะทำร้ายผู้ใช้ระบบประปา