เป็นวิธีที่ถูกต้องในการปรับปรุงปลั๊กอินผ่านเต่า svn ไปยังพื้นที่เก็บข้อมูลคืออะไร?


18

ฉันอายที่จะบอกว่าฉันเป็น clueless เล็กน้อยในขั้นตอนที่ใช้ในการอัปเดตปลั๊กอินผ่านทาง svn เต่าแม้ว่าปลั๊กอินของฉันจะอยู่ในพื้นที่เก็บข้อมูลมานานหลายปีและมีการดาวน์โหลดมากกว่า 300,000 ครั้ง!

มีคำถามมากมายเกี่ยวกับ svn ที่นี่ แต่พวกเขาทำให้ฉันสับสนมากขึ้นเท่านั้น: -z

อย่างใดฉันได้จัดการจนถึง แต่ฉันจำเป็นต้องทราบขั้นตอนที่เหมาะสมสำหรับการปรับปรุงปลั๊กอินของฉันให้เป็นรุ่นใหม่ที่เกี่ยวกับการยอมรับลำตัวและสร้างไดเรกทอรีแท็ก

นี่คือสิ่งที่ฉันทำมาจนถึงตอนนี้

  1. รหัสการปรับปรุงปลั๊กอินในท้องถิ่นของฉันจนกว่าฉันจะมีความสุขกับมัน
  2. คัดลอกไฟล์ทั้งหมดที่อยู่ในโฟลเดอร์ปลั๊กอินในเครื่องของฉันไปยัง / trunk / (ไฟล์ปลั๊กอินและ readme มีหมายเลขเวอร์ชั่นที่อัปเดตแล้ว)
  3. ยอมรับไดเรกทอรีลำต้น
  4. คลิกขวาที่ไดเรกทอรี trunk และเลือกสร้าง branch / tag และตั้งค่าให้คัดลอกไปยังโฟลเดอร์ใน / tags / ด้วยชื่อเป็นหมายเลขรุ่น

ถูกต้องและในลำดับที่ถูกต้อง? ถ้าไม่เป็นวิธีที่ถูกต้องคืออะไร?

ยังเกี่ยวกับหมายเลขรุ่น ...

ด้วยเหตุผลบางอย่างฉันเปลี่ยนจากรุ่น 2.8.1 เป็น 2.81.2 ในการอัปเดตครั้งล่าสุดของฉันหมายความว่าจะไม่แสดงเป็นการอัปเดตที่มีอยู่ในแผงควบคุมของผู้ที่มีเวอร์ชั่น 2.81.2 ถ้าฉันเปลี่ยนหมายเลขเวอร์ชันถัดไปเป็น 2.9?

wordpress พิจารณาว่าเป็นรุ่นล่าสุดอย่างไรและหากผู้ใช้ควรอัปเดตเวอร์ชันของพวกเขา มันทำ version_compare ไหม? ใช้งานได้กับรูปแบบ php รุ่นที่เหมาะสมเท่านั้นใช่ไหม เช่น. 2.9.2 ถือเป็นรุ่นที่ต่ำกว่า 2.81.2? (เพราะอย่างที่ฉันเข้าใจมัน version_compare เริ่มต้นทางซ้ายและเปรียบเทียบสูง / ต่ำสำหรับแต่ละหลักดังนั้น 9 จะถือว่าน้อยกว่า 81)

คำถามอื่น

หากฉันพบข้อผิดพลาดโง่ ๆ ในโค้ดที่ไม่ส่งผลกระทบต่อการทำงานของปลั๊กอินอาจเป็นตัวพิมพ์หรือรูปภาพเพิ่มเติม ฉันจะแก้ไขและผูกมัดอะไรเพื่อให้การดาวน์โหลดใหม่ของปลั๊กอินมีการเปลี่ยนแปลง?

ฉันต้องแก้ไขลำต้นและโฟลเดอร์แท็กและยืนยันทั้งสองหรือไม่


2
ไม่มีเหตุผลที่จะอายฉันยังมีปัญหาเกี่ยวกับเดือนที่ผ่านมาและคุณมาไกลกว่าฉัน :) @EAMann อธิบายขั้นตอนทั้งหมดดีมากรวมภาพหน้าจอในหัวข้อนี้: wordpress.stackexchange.com/questions/ 16951 / …

คำตอบ:


29

ฉันอายที่จะบอกว่าฉันเป็น clueless เล็กน้อยในขั้นตอนที่ใช้ในการอัปเดตปลั๊กอินผ่านทาง svn เต่าแม้ว่าปลั๊กอินของฉันจะอยู่ในพื้นที่เก็บข้อมูลมานานหลายปีและมีการดาวน์โหลดมากกว่า 300,000 ครั้ง!

อย่าเป็น SVN อาจเป็นเรื่องยากสำหรับคนจำนวนมาก ... ดังนั้นเรามาดูเรื่องต่าง ๆ ทีละขั้นตอน ...

นี่คือสิ่งที่ฉันทำมาจนถึงตอนนี้

  1. รหัสการปรับปรุงปลั๊กอินในท้องถิ่นของฉันจนกว่าฉันจะมีความสุขกับมัน
  2. คัดลอกไฟล์ทั้งหมดที่อยู่ในโฟลเดอร์ปลั๊กอินในเครื่องของฉันไปยัง / trunk / (ไฟล์ปลั๊กอินและ readme มีหมายเลขเวอร์ชั่นที่อัปเดตแล้ว)
  3. ยอมรับไดเรกทอรีลำต้น
  4. คลิกขวาที่ไดเรกทอรี trunk และเลือกสร้าง branch / tag และตั้งค่าให้คัดลอกไปยังโฟลเดอร์ใน / tags / ด้วยชื่อเป็นหมายเลขรุ่น

ถูกต้องและในลำดับที่ถูกต้อง? ถ้าไม่เป็นวิธีที่ถูกต้องคืออะไร?

เกือบจะ ...

ขั้นตอนที่คุณควรปฏิบัติตาม:

  1. โค้ดอัปเดตปลั๊กอินในเครื่องจนกว่าคุณจะพอใจ
  2. เพิ่มแท็ก "เสถียร" ในreadme.txtไฟล์ของคุณเพื่อให้ตรงกับหมายเลขเวอร์ชันใหม่
  3. คัดลอกการอัพเดตโลคัลของคุณลงใน/trunkไดเร็กทอรีของโฟลเดอร์ปลั๊กอินโลคัล
  4. คอมมิทปลั๊กอินทั้งหมดเพื่อบันทึกการเปลี่ยนแปลงไป/trunkยังที่เก็บ
  5. คลิกขวา/trunkและสร้างแท็กใหม่คัดลอกไป/tags/X.X.Xที่ซึ่ง xxx เป็นเวอร์ชันเดียวกันในแท็ก "เสถียร" ของreadme.txt(ขั้นตอนที่ 2)
  6. คอมมิทปลั๊กอินทั้งหมดเพื่อบันทึกแท็ก

ด้วยเหตุผลบางอย่างฉันเปลี่ยนจากรุ่น 2.8.1 เป็น 2.81.2 ในการอัปเดตครั้งล่าสุดของฉันหมายความว่าจะไม่แสดงเป็นการอัปเดตที่มีอยู่ในแผงควบคุมของผู้ที่มีเวอร์ชั่น 2.81.2 ถ้าฉันเปลี่ยนหมายเลขเวอร์ชันถัดไปเป็น 2.9?

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

wordpress พิจารณาว่าเป็นรุ่นล่าสุดอย่างไรและหากผู้ใช้ควรอัปเดตเวอร์ชันของพวกเขา มันทำ version_compare ไหม? ใช้งานได้กับรูปแบบ php รุ่นที่เหมาะสมเท่านั้นใช่ไหม เช่น. 2.9.2 ถือเป็นรุ่นที่ต่ำกว่า 2.81.2? (เพราะอย่างที่ฉันเข้าใจมัน version_compare เริ่มต้นทางซ้ายและเปรียบเทียบสูง / ต่ำสำหรับแต่ละหลักดังนั้น 9 จะถือว่าน้อยกว่า 81)

เผง การเปรียบเทียบรุ่น PHP มาตรฐานจะเห็นว่ารุ่น 2.81.2 เป็นรุ่นที่ใหม่กว่า 2.9 เนื่องจาก 81> 9

ฉันขอแนะนำให้คุณปล่อยรุ่น 3.0 ถัดไปจากนั้นให้ระมัดระวังเป็นอย่างยิ่งเมื่อการกำหนดรุ่นในอนาคตเพื่อป้องกันการพิมพ์ผิดประเภทนี้

หากฉันพบข้อผิดพลาดโง่ ๆ ในโค้ดที่ไม่ส่งผลกระทบต่อการทำงานของปลั๊กอินอาจเป็นตัวพิมพ์หรือรูปภาพเพิ่มเติม ฉันจะแก้ไขและผูกมัดอะไรเพื่อให้การดาวน์โหลดใหม่ของปลั๊กอินมีการเปลี่ยนแปลง?

ฉันต้องแก้ไขลำต้นและโฟลเดอร์แท็กและยืนยันทั้งสองหรือไม่

ถ้าคุณต้องการที่จะทำให้การเปลี่ยนแปลงเล็ก ๆ น้อย ๆ คิดว่ามันเป็นปล่อยการบำรุงรักษา ฉันมักจะทำตามสคีมาของเวอร์ชันนี้:

2      .      1       .       3       .       5
major         minor           maint           build

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

หากฉันสังเกตเห็นข้อผิดพลาดในเวอร์ชันสดฉันจะทำการปะแก้ด่วนและปล่อยเวอร์ชันการบำรุงรักษา สมมติว่าฉันเปิดตัวปลั๊กอินเวอร์ชัน 2.2 และมีคนสังเกตเห็นว่าฉันลืมเรียกใช้ jQuery ในโหมด noConflict () ฉันจะทำการแก้ไขด่วนและออก 2.2.1 ทันที

การเพิ่มขึ้นของเวอร์ชันจะบังคับให้ WordPress จดจำการอัปเดตและมอบการแก้ไขให้กับทุกคนที่ติดตั้งเวอร์ชัน 2.2 แล้ว

ในการปล่อยรุ่นบำรุงรักษาคุณจะต้องทำตามขั้นตอนที่แน่นอนเหมือนกับว่าคุณกำลังปล่อยเวอร์ชั่นเต็มของระบบ ดังนั้นทำการเปลี่ยนแปลงเพิ่มรุ่นreadme.txtลงมือกระทำ/trunkติดแท็ก ฯลฯ

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

หากคุณคิดว่าเป็นความคิดที่ดีลองตีตัวเองที่ด้านหลังศีรษะแล้วปล่อยรุ่นบำรุงรักษาแทน :-)

ดังที่ Piet พูดถึงฉันเขียนชุดคำแนะนำทีละขั้นตอนก่อนหน้านี้ ... แต่ดูเหมือนว่าไซต์จะเสียหน้าจอของฉัน นี่เป็นอีกเวอร์ชั่นของคู่มือทีละขั้นตอนเดียวกันกับภาพหน้าจอจาก Tortoise ที่โฮสต์ในเว็บไซต์ของฉัน: http://eamann.com/tech/how-to-publish-a-wordpress-plugin-subversion/


2
คำตอบที่ดี หนึ่งการแก้ไขเล็กน้อย: เมื่อคุณบอกว่าไม่เคยเปลี่ยนสิ่งที่ติดแท็กนั่นเป็นเรื่องจริง สมมติว่าคุณพิมพ์ผิดใน readme ของคุณเองไม่จำเป็นต้องทำการรีลีสการบำรุงรักษาเพื่อแก้ไข กำลังแชทใน # wordpress-meta วันนี้กับหนึ่งในนักพัฒนาที่มุ่งหวังซึ่งกล่าวว่าไม่เป็นไรที่จะแก้ไขเวอร์ชันที่ติดแท็กของคุณตราบใดที่เป็นเพียงไฟล์readme.txt ไม่มีคนอื่น โดยทั่วไปแล้วใช่อยู่ห่างจากการแก้ไขไฟล์ที่ติดแท็กของคุณ
Andy Mercer

คำตอบที่ดี สิ่งเดียวที่ฉันจะเพิ่มคือเมื่อมันมาถึงปลั๊กอินหมายเลขรุ่นมันเป็นความคิดที่ดีที่จะใช้Semantic Versioningถึงแม้ว่าคุณไม่จำเป็นต้องทำ การเปลี่ยนแปลงรุ่น MAJOR ระบบใดก็ตามที่คุณเลือกให้ปลั๊กอินของคุณเป็นเวอร์ชั่นที่สอดคล้องกันและอย่าลืมอัพเดต readme changelog
Aron
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.