รุ่น Bump ก่อนที่จะเริ่มการพัฒนาใหม่หรือเมื่อติดแท็กการปล่อยซึ่งดีกว่า?


9

บางโปรเจ็กต์ชนเวอร์ชันก่อนที่จะเริ่มการพัฒนาใหม่ในขณะที่โปรเจ็กต์อื่น ๆ ชนเวอร์ชันเมื่อแท็กการปล่อย

วิธีไหนดีกว่ากัน

หากหมายเลขเวอร์ชั่นไม่เปลี่ยนแปลงในช่วงเริ่มต้นของเฟสใหม่ผู้พัฒนาอาจลืมที่จะเปลี่ยนแปลงและเพียงแค่ปล่อยโปรแกรม

หากหมายเลขเวอร์ชันเปลี่ยนไปก่อนการแท็กปล่อยดังนั้น 2 หมายเลขเวอร์ชัน (แท็กและ Makefile / AssemblyInfo.cs) จะไม่ตรงกัน

git describe อาจให้คุณ v1.2.3.4-15-g1234567 หากการแก้ไขปัจจุบันหลังจาก v1.2.3.4 แต่คุณได้เปลี่ยนไฟล์ไปเป็น v1.2.3.5 แล้ว

คำตอบ:


2

เหตุผลหลักสำหรับหมายเลขรุ่นคือเพื่อให้เมื่อมีการค้นพบข้อบกพร่องคุณสามารถดีบักโดยใช้รหัสแหล่งที่มาที่แท้จริงของข้อผิดพลาดที่เกิดขึ้นจริงในรุ่น

ไม่สำคัญว่ารูปแบบการกำหนดเวอร์ชันใดที่คุณใช้ตราบใดที่ผู้ใช้งานของคุณสามารถสื่อสารกับผู้พัฒนาข้อมูลได้เพียงพอเพื่อให้ผู้พัฒนาสามารถบรรลุเป้าหมายนี้ได้

เหตุผลอื่น ๆ สำหรับการกำหนดเวอร์ชันสำหรับการตลาดและทีมงานช่วยเหลือ (บางครั้งถูกกฎหมาย)
ทีมเหล่านี้มีลำดับความสำคัญของตนเองสำหรับการกำหนดเวอร์ชัน

  • ช่วยด้วย
    ต้องการวิธีที่ง่ายในการตรวจสอบความเข้ากันได้และคุณสมบัติและความเสถียรที่อาจเกิดขึ้น (ดูรูปแบบตัวเลขเลขคี่ของ Linux / คู่
  • การตลาด
    ต้องการจำนวนที่มากขึ้นในแต่ละครั้ง (ดีกว่า 2)
  • กฎหมาย
    ต้องการให้แน่ใจว่าคุณมีคุณสมบัติทั้งหมดมุ่งมั่นที่จะก่อนที่จะเพิ่มจำนวน

ในทุกกรณีรูปแบบที่ใช้นั้นไม่สำคัญ ตราบใดที่คุณมีความสอดคล้อง (หรือมีเอกสารที่มีรายละเอียดสูงอย่างง่ายดายเกี่ยวกับการเปลี่ยนแปลงความหมาย)


1

เมื่อใช้หมายเลขรุ่นสี่ส่วนเช่นชุดประกอบ. NET ฉันต้องการใช้แท็กควบคุมเวอร์ชันเพื่อตั้งสามกลุ่มแรกจากนั้นกลุ่มที่สี่คือจำนวนข้อผูกพันนับตั้งแต่แท็กนั้น

ตัวอย่างเช่นเวอร์ชันได้รับการติดแท็ก "v1.2.3" หากgit-describeส่งคืน "v1.2.3-4-g1a2b3c4" ดังนั้นเมื่อสร้างชุดประกอบนั้นจะได้รับเวอร์ชันเป็น 1.2.3.4

หากแท็กถูกนำไปใช้กับรุ่นนั้นในภายหลังแล้วgit-describeจะส่งคืน "v1.2.4" แทนซึ่งหมายถึงรุ่น 1.2.4.0 การส่งครั้งต่อไปจะเป็น 1.2.4.1

ประโยชน์ที่ฉันได้รับจากระบบนี้คือ:

  • ทุกการกระทำจะเพิ่มหมายเลขรุ่นโดยอัตโนมัติ
  • รุ่นสามารถทำการปล่อย ".0" ได้โดยเพียงแค่ติดแท็ก
  • แม้ว่าจะไม่สมบูรณ์ระบบนี้ใช้งานได้กับ DVCS เพราะนับจำนวนการคอมมิชชันตั้งแต่แท็กล่าสุด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.