เมื่อวานตอนเย็นแล้ว เพื่อนที่ทำงานคนหนึ่ง ผู้ไม่ค่อยศรัทธาใน git ได้กล่าวขึ้นมาว่า “git มันมีบักบนวินโดว มันจับไม่ได้ว่าไฟล์ตัวเล็กตัวใหญ่เปลี่ยนไป ซึ่งมันทำให้เกิดบักขนาดมหึมา” ผมโพล่งขึ้นมาทันทีด้วยความมั่นใจว่า มันเป็นไปไม่ได้หรอก มันต้องรู้ทุกๆการเปลี่ยนแปลงสิ มันไม่เม้คเซ้นต์
คือผมเถียงขึ้นมาด้วยความมั่นใจเกินล้าน จากนั้นมันก็ต้องทดสอบว่าจริงหรือเปล่า ก็ได้ลองทดสอบเปลี่ยนชื่อไฟล์จากตัวเล็กเป็นตัวใหญ่ดู เย็ดเป็ด git มันจับไม่ได้จริงๆด้วยว่ามีการเปลี่ยนแปลง
ผมลองทดสอบเปลี่ยนชื่อไฟล์จาก init.php เป็น Init.php ในโปรเจ็กผม
แล้วเปิด source tree ประจำตัวเพื่อดูว่ามันจะพบความเปลี่ยนแปลงมั้ย ไม่เลย เงียบฉี่
ท่านเคยมั้ย ที่แบบเถียงด้วยความมั่นใจมาก แต่พอทดสอบ หรือหาข้อมูลเพิ่มเติม กลับปรากฎอย่างที่เขาพูดจริงๆ อือ… ผมรู้สึกอย่างท่านเคยรู้สึกนั่นแหละ
แต่ลึกๆแล้ว ผมไม่เชื่อว่ามันจะเป็นบัก เพราะมันไม่เม้คเซ้นต์ อย่างที่ผมกล่าวไปตั้งแต่ต้น มันต้องมีคนเคยเปลี่ยนชื่อไฟล์บ้างละวะ และมันจะต้องเคยเกิดปัญหามาบ้าง
หลังจากผมหาข้อมูลก็ไปเจอกับบทความนี้ http://blog.avisi.nl/2013/03/27/stop-ignoring-my-capitals-git/ เขาบอกมันกำหนดค่า config ได้ให้จับการเปลี่ยนแปลงของชื่อไฟล์จากตัวเล็กเป็นตัวใหญ่หรือจากตัวใหญ่เป็นตัวเล็ก
ผมว่าแล้ว มันต้องได้สิ เทวดาบอกผม
เปิด source tree ไปที่ Repository Settings…
คลิก Edit Config files…
เลือกโปรแกรมประจำกายเปิดไฟล์ config
เปลี่ยน ignorecase จาก true เป็น false
ลองเปลี่ยนชื่อไฟล์จากตัวเล็กเป็นตัวใหญ่ใหม่ นั่นไง
มันต้องได้ดิวะ
Leave a Reply