ฉันอ่านคำถามมากมายเกี่ยวกับเครื่องมือควบคุมซอร์สโค้ดง่ายๆและ Git ดูเหมือนจะเป็นทางเลือกที่สมเหตุสมผล ฉันเปิดใช้งานและทำงานได้ดีจนถึงตอนนี้ สิ่งหนึ่งที่ฉันชอบเกี่ยวกับ CVS คือการเพิ่มหมายเลขเวอร์ชันโดยอัตโนมัติ
ฉันเข้าใจว่าสิ่งนี้ไม่ค่อยสมเหตุสมผลในที่เก็บแบบกระจาย แต่ในฐานะนักพัฒนาฉันต้องการ / ต้องการอะไรแบบนี้ ให้ฉันอธิบายว่าทำไม:
ฉันใช้ Emacs เป็นระยะ ๆ ฉันจะค้นหาไฟล์ต้นฉบับ Lisp เวอร์ชันใหม่สำหรับแพ็คเกจของบุคคลที่สาม สมมติว่าฉันมีไฟล์ foo.el ซึ่งตามส่วนหัวคือเวอร์ชัน 1.3 ถ้าฉันค้นหาเวอร์ชันล่าสุดและเห็นว่ามันคือ 1.143 หรือ 2.6 หรืออะไรก็ตามฉันรู้ว่าฉันค่อนข้างล้าหลัง
ถ้าฉันเห็นแฮช 40 อักขระสองสามตัวแทนฉันจะไม่รู้ว่าอันไหนจะมาทีหลังหรือไม่รู้ว่ามันยาวเท่าไร ฉันจะเกลียดมันเป็นอย่างยิ่งถ้าฉันต้องตรวจสอบ ChangeLogs ด้วยตนเองเพื่อให้ทราบว่าฉันล้าสมัยแค่ไหน
ในฐานะนักพัฒนาฉันต้องการขยายความเอื้อเฟื้อนี้ให้กับผู้คนที่ใช้ผลลัพธ์ของฉัน (และบางทีฉันอาจล้อเล่นว่าใครเป็นใคร แต่ขอทิ้งไว้สักครู่) ฉันไม่อยากจำที่จะต้องเพิ่มจำนวนแช่งตัวเองทุกครั้งหรือการประทับเวลาหรืออะไรทำนองนั้น นั่นเป็น PITA ที่แท้จริงและฉันรู้จากประสบการณ์
ฉันมีทางเลือกอะไรบ้าง? หากฉันไม่สามารถรับ $ Id: $ เทียบเท่าฉันจะให้สิ่งที่ฉันกำลังมองหาได้อย่างไร
ฉันควรพูดถึงว่าความคาดหวังของฉันคือผู้ใช้ปลายทางจะไม่ได้ติดตั้ง Git และแม้ว่าพวกเขาจะทำ แต่ก็จะไม่มีที่เก็บในเครื่อง (แน่นอนฉันคาดว่าจะไม่ทำให้มันพร้อมใช้งานด้วยวิธีนั้น)
filter-branch
หรือบางสิ่งบางอย่าง