ฉันไม่คิดว่าการมี Magento ใน repo โครงการของคุณเป็นความคิดที่ดีในตอนแรกถ้าคุณจัดการลูกค้ามากกว่า 2-3 ราย เนื่องจากเป็นการง่ายกว่าที่จะทำให้เกิดความเสียหายขึ้นกับแพทช์ระบบที่ใช้กับแฮ็กแกน
ตัวเลือกที่ดีที่สุดในความคิดของฉันคือการมีกระจกพื้นที่เก็บข้อมูลวีโอไอพีนักแต่งเพลงพร้อมแท็กเวอร์ชันซึ่งชี้ไปที่เวอร์ชันวีโอไอพีหนึ่งโดยเฉพาะกับแพทช์ทางการที่เป็นไปได้
นอกจากนี้มันจะทำให้ง่ายต่อการดูแลรักษาแพตช์ของคุณเองในไฟล์เช่น Mage_Core_Model_Config สำหรับเว็บไซต์ที่โหลดสูงและอื่น ๆ โดยแนะนำการติดตั้งของพวกเขาผ่านทางนักแต่งเพลงที่มีหมายเลขเวอร์ชั่นที่ตรงกับการติดตั้ง Magento ของคุณ
ดังนั้นในกรณีนี้การอัปเกรดโครงการลูกค้าทั้งหมดของคุณเป็นรหัสวีโอไอพีที่ได้รับการปะแก้จะส่งผลเฉพาะในไฟล์เพลงนักแต่งเพลงของคุณเท่านั้น การเก็บรหัสโครงการไว้นอกเหนือจากหลักจะบังคับให้นักพัฒนาของคุณไม่แฮกแกนข้อมูล
สำหรับคำจำกัดความของโปรแกรมปะแก้และแฮ็คฉันอยากจะเรียกมันว่า:
- การเปลี่ยนแปลงในไฟล์คอร์ดั้งเดิมด้วยไฟล์แพทช์อย่างเป็นทางการ - เป็นแพทช์
- การเปลี่ยนแปลงในไฟล์หลักดั้งเดิมโดยทีมของคุณ - เป็นแฮ็ค
- การเปลี่ยนแปลงในไฟล์คอร์ที่คัดลอกในเครื่องสำหรับจุดประสงค์ในการแก้ไขบั๊ก - มันเป็นแพตช์
- การเปลี่ยนแปลงในไฟล์ core ที่คัดลอกในเครื่องเพื่อจัดหาฟังก์ชั่นใหม่ - มันคือการแฮ็ค
ดังนั้นโดยการย้ายแกนหลักไปยัง repo ที่แยกต่างหากคุณจะได้รับการตรวจสอบว่าคุณมีรุ่นที่ได้รับการปรับปรุงตามรายการที่ 1 เท่านั้นและคุณสามารถติดตั้ง Patch ของคุณเองผ่านทางผู้แต่งลงในกลุ่มรหัสท้องถิ่นได้ และ 4 คุณสามารถสร้างคอมไพล์การคอมไพล์ใน repo โครงการเพื่อห้ามมิให้โค้ดใด ๆ