โครงการแยกที่หมายเลขเวอร์ชันของฉันเริ่มต้นที่ไหน


12

ฉันได้แยกโครงการและมีการเปลี่ยนแปลงมากมาย ทางแยกนี้ไม่ได้เป็นเพียงการเปลี่ยนแปลงคุณสมบัติเล็กน้อยที่นี่และการแก้ไขข้อบกพร่องที่ฝังอยู่ที่นั่นมันเป็นการเปลี่ยนแปลงที่สำคัญมาก มีการแชร์รหัสหลักส่วนใหญ่เท่านั้น

ฉันแยกโครงการนี้เป็น v2.5.0 ในขณะที่ฉันเริ่มรุ่นส้อมของฉันที่ v3.0 อย่างไรก็ตามฉันไม่แน่ใจว่านี่เป็นวิธีที่ถูกต้องหรือไม่ส่วนใหญ่เป็นเพราะเมื่อโครงการนั้นถึง v3.0 สิ่งต่าง ๆ จะสับสน แต่ฉันไม่ต้องการเริ่มต้นใหม่ที่ v1.0 หรือ v0.1 เพราะนั่นหมายถึงช่วงวัยเด็กความไม่แน่นอนและการไม่ refindness ของโครงการ สิ่งนี้ไม่เป็นความจริงเนื่องจากรหัสหลักส่วนใหญ่นั้นละเอียดและเสถียรมาก

ฉันหลงทางในสิ่งที่ต้องทำดังนั้นฉันจึงถามที่นี่: อะไรคือวิธีมาตรฐานในการจัดการกับสถานการณ์แบบนี้? ทำส้อมส่วนใหญ่เริ่มต้นใหม่อีกครั้งชนหมายเลขรุ่นหรือทำอย่างอื่นที่ฉันไม่ทราบ


5
ฉันไม่เห็นว่า 1.0 หมายถึงวัยเด็กหรือความไม่แน่นอน อะไรก็ตามที่ต่ำกว่า 1.0 ใช่ แต่ 1.0 หมายถึงว่ามันอยู่ในช่วง 'วัยเด็ก' และพร้อมที่จะร็อค ถ้ามันทำให้คุณสบายขึ้นไปกับ 1.1 (10% วุฒิภาวะพิเศษ !!!);)
Mchl

1
จากความอยากรู้คุณแยกอะไร?
compman

คำตอบ:


13

ส้อมส่วนใหญ่ที่ฉันเห็นเริ่มต้นอีกครั้งจากเวอร์ชัน 1.0 แต่ฉันคิดว่าคุณเปลี่ยนชื่อส้อมของคุณด้วยดังนั้นฉันไม่แน่ใจว่าทำไมจะเกิดความสับสนหากคุณเพิ่งเริ่มจาก v3.0

สิ่งที่ฉันจะทำคือเปลี่ยนชื่อของโครงการรุ่น 1.0 และทำให้ชัดเจนว่าโครงการเป็นทางแยกของโครงการอื่น ฉันไม่คิดว่าจะมีความสับสนกับวิธีการดังกล่าว

หากคุณกังวลเกี่ยวกับฉลาก "1.0" เพียงแค่ปล่อยเวอร์ชั่น 2.0 ในเวลาสั้น ๆ หลังจาก 1.0 ...


... หรือปล่อย v2.0 โดยตรงโดยข้าม v1.0 ไปเลย มันจะไม่เป็นครั้งแรกที่เสร็จสิ้น
Konamiman

ที่ บริษัท ของฉันโครงการหนึ่งเริ่มต้นที่ v2.4
user253751

6

เตรียมแผนงานของคุณเองแล้วเริ่มต้นด้วยหมายเลขเวอร์ชันดั้งเดิม แต่อย่าพยายามแข่งกับผลิตภัณฑ์ดั้งเดิมเวอร์ชันปัจจุบัน


1
หากคุณไม่ได้พยายามขนานกับโครงการดั้งเดิมในทางใดทางหนึ่งก็จะไม่มีความสัมพันธ์ที่มีความหมายระหว่างหมายเลขรุ่นต่อไป นั่นหมายความว่าไม่มีจุดใดที่พยายามสร้างความสัมพันธ์ดังกล่าวในขณะนี้โดยเริ่มต้นที่ 3.0 - เพราะมันจะสร้างความคาดหวังที่ไม่สามารถบรรลุได้
Tom Anderson

ฉันยืนแก้ไขแล้ว คุณควรเริ่มต้น v1.0 ของคุณเองซึ่งจะช่วยให้คุณแตกต่าง รุ่นควรหมายถึงบางสิ่งไม่ใช่แค่การแสดงความสามารถทางการตลาด (v.gr. "v5.4" เพียงเพื่อไม่ให้ดูใหม่)
dukeofgaming

1
@TomAnderson: ถ้าเขาพยายามพูด, พูด, เวอร์ชั่น 2.5, และทำให้ fork แรกของเขาเป็น 2.6 หรือ 3.0, เขาสามารถชี้ไปที่แอพอื่น ๆเป็นประวัติสมบูรณ์ของโครงการของเขา ซึ่งเป็นความสัมพันธ์ที่มีความหมายอย่างสุภาพ
DougM

3

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

เป็นตัวอย่างตรวจสอบ MariaDB ซึ่งเป็นทางแยกของ MySQL พวกเขาต้องการให้มันเป็น 'drop-in' แทนที่สำหรับ MySQL ดังนั้นตัวอย่างเช่น MariaDB 5.2 มีคุณสมบัติทั้งหมดของ MySQL 5.2

ดู: http://kb.askmonty.org/v/mariadb-versus-mysql

หมายเหตุ:เนื่องจากคำตอบนี้โพสต์แล้ว MariaDB จึงแยกจาก MySQL เป็นอย่างมากและขณะนี้กำลังติดตามรูปแบบการกำหนดรุ่นของตัวเอง


1

0.1 อาจบ่งบอกถึงวัยเด็ก แต่ verion 1.0+ หมายถึงมีเสถียรภาพ การเพิ่มขึ้นของหมายเลขรุ่นหลักเช่น 2.0, 3.0 โดยทั่วไปบ่งชี้ว่ามีการเปลี่ยนแปลงคุณสมบัติขนาดใหญ่

เช่น

  • แอปพลิเคชันเวอร์ชัน 1.0 ของฉันเป็นเครื่องมือสำหรับเรียกใช้สคริปต์ทดสอบพร้อมการตั้งค่า
  • เวอร์ชัน 2.0 ลบความแตกต่างระหว่างสคริปต์ทดสอบและสคริปต์การตั้งค่าสภาพแวดล้อม
  • เวอร์ชัน 3.0 เพิ่ม GUI สำหรับการเขียนสคริปต์เป็นแผนภูมิลำดับงาน พวกเขาเป็นผลิตภัณฑ์ที่แตกต่างกันอย่างเห็นได้ชัด แต่แม้กระทั่ง Version 1 ก็เป็นผลิตภัณฑ์ที่ใช้งานได้มีความเสถียรอย่างสมบูรณ์เป็นต้นรุ่นที่ 2 และ 3 เกิดขึ้นเพราะมันตัดสินใจว่าการเปลี่ยนแปลงครั้งใหญ่เหล่านี้จะดี หากเราไม่ต้องการเปลี่ยนแปลงที่ยิ่งใหญ่เหล่านี้และเพิ่งดำเนินการแก้ไขข้อผิดพลาดต่อไป ฯลฯ หมายเลขรุ่นรองจะเพิ่มขึ้นเพียง 1.10,1.20 เป็นต้นและนั่นก็เป็นเรื่องปกติ

สิ่งที่ฉันพูดคือหมายเลขเวอร์ชันหลักไม่ได้ระบุถึงวุฒิภาวะ แต่ระบุชุดคุณลักษณะที่สำคัญ ตอนนี้เป็นบิตของการสัมผัสกันจากวิธีหมายเลขรุ่นผลิตภัณฑ์ของคุณ

สิ่งที่ฉันเคยเห็นมาก่อนซึ่งสิ่งที่ฉันชอบเงียบ ๆ คือเริ่มต้นการกำหนดเวอร์ชันอีกครั้งจาก 1.0 (หรือจาก 3.0 หากคุณต้องการ) จากนั้นในวงเล็บพูดว่าต้นฉบับรุ่นไหนที่มีคุณสมบัติดึงออกมา

  • เริ่มแรก: " MyFork v1.1 (ตาม OrigProg v3.0)
  • สิ่งที่ไม่เหมาะสมบางอย่างที่เกิดขึ้นกับ MyFork: MyFork v1.3 (ตาม OrigProg v3.0)
  • OrigProg เปิดตัวรุ่นใหญ่และ MyFork ดึงและผสาน: MyFork v2.1 (อิง OrigProg v4.0)
  • ทำการเปลี่ยนแปลงที่สำคัญบางอย่างกับ MyFork (อาจจะไม่สามารถผสานกับ OrigProg อีกครั้งได้อย่างง่ายดาย): MyFork v3.0 (ตาม OrigProg v4.0)

0

ถ้าเป็นไปได้ให้รวมส้อมของคุณกลับไปที่โครงการเดิม ฉันไม่สามารถเน้นได้เพียงพอ

ลงทะเบียนหมายเลขรุ่นของคุณใหม่จากนั้นใช้หมายเลขที่คุณต่อท้ายพร้อมคำต่อท้ายวันที่


2
การย้ายจาก "Python 1.1" เป็น "Userthon 1.1. {DATE}" ทำให้รูปแบบตัวเลขที่คาดการณ์แตก
DougM
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.