ในอดีตฉันเคยใช้ที่เก็บโค่นล้มเพื่อเก็บเอกสารต้นฉบับของฉันและทำตามแบบแผน "รองลงมา" สำหรับองค์กรที่เก็บซึ่งฉันพบว่าทำงานได้ดีสำหรับองค์กรขนาดใหญ่และขนาดเล็ก
เราจะจัดโครงสร้างสาขาที่เก็บของเรา แท็ก & ลำต้นดังนี้:
branches-+
+-personal-+
| +-alice-+
| | +-shinyNewFeature
| | +-AUTOMATED-+
| | +-shinyNewFeature
| +-bob-+
| +-AUTOMATED-+
| +-bespokeCustomerProject
+-project-+
+-shinyNewFeature
+-fixStinkyBug
tags-+
+-m20110401_releaseCandidate_0_1
+-m20110505_release_0_1
+-m20110602_milestone
trunk
ภายในต้นไม้ต้นกำเนิดจริงเราจะใช้โครงสร้างคล้ายกันดังต่อไปนี้
(src)-+
+-developmentAutomation-+
| +-testAutomation
| +-deploymentAutomation
| +-docGeneration
| +-staticAnalysis
| +-systemTest
| +-performanceMeasurement
| +-configurationManagement
| +-utilities
+-libraries-+
| +-log-+
| | +-build
| | +-doc
| | +-test
| +-statistics-+
| | +-build
| | +-doc
| | +-test
| +-charting-+
| | +-build
| | +-doc
| | +-test
| +-distributedComputing-+
| | +-build
| | +-doc
| | +-test
| +-widgets-+
| +-build
| +-doc
| +-test
+-productLines-+
| +-flagshipProduct-+
| | +-coolFeature
| | +-anotherCoolFeature
| | +-build
| | +-doc
| | +-test
| +-coolNewProduct-+
| +-build
| +-doc
| +-test
+-project-+
+-bigImportantCustomer-+
| +-bespokeProjectOne
| +-bespokeProjectTwo
+-anotherImportantCustomer-+
+-anotherBespokeProject
แนวคิดคือ (และยังคงเป็น) เพื่อใช้โครงสร้างของพื้นที่เก็บข้อมูลเพื่อช่วยในการสื่อสารโครงสร้างระหว่างทีมวิศวกรรม ส่วนที่ลูกค้าเผชิญกับธุรกิจและผู้เชี่ยวชาญด้านโดเมน & อื่น ๆ อีกมากมาย
หากต้องการปัญญา: เอกสารต้นฉบับที่อยู่ในไดเรกทอรี "project" หนึ่งรายการจะถูกใช้ (และรับเงิน) เพียงครั้งเดียว เอกสารที่อยู่ในหนึ่งในไดเรกทอรี "productLines" ทำเงินได้หลายเท่าจากผลิตภัณฑ์ที่ได้รับจากการขาย เอกสารที่อยู่ในไดเรกทอรี "ห้องสมุด" แห่งใดแห่งหนึ่งจะได้รับเงินหลายเท่าจากผลิตภัณฑ์ใด ๆ ที่ใช้พวกเขาขาย
มันทำให้ความคิดของค่าตัดจำหน่ายของค่าใช้จ่ายที่ชัดเจนและช่วยสร้างการสนับสนุนสำหรับเอกสารที่มาใช้ซ้ำในธุรกิจ
ในโลกอุดมคติลูกค้าที่เป็นส่วนหนึ่งของธุรกิจจะใช้โครงสร้างนี้เพื่อเก็บงานนำเสนอและหลักประกันการขายอื่น ๆ เพื่อให้นักพัฒนาสามารถเห็นสิ่งที่ลูกค้าคาดหวังได้ถูกสร้างขึ้นควบคู่ไปกับสารบบผลิตภัณฑ์ที่เกี่ยวข้องและลูกค้าหันหน้าไปทางเพื่อนร่วมงาน ความคืบหน้าเกี่ยวกับคุณสมบัติและผลิตภัณฑ์ที่พวกเขาขาย
นอกจากนี้ยังหมายความว่ามีโครงสร้างทั่วไปที่เครื่องมือการสร้างอัตโนมัติของเราสามารถทำงานได้ (สคริปต์สำหรับการสร้างของเราเดินไปที่ต้นกำเนิดเพื่อค้นหาโฟลเดอร์ "สร้าง" ซึ่งพวกเขาค้นหาแฟ้มการกำหนดค่าที่ระบุว่าจะสร้างแต่ละองค์ประกอบได้อย่างไรกระบวนการที่คล้ายกันนี้เกิดขึ้นสำหรับการสร้างและทดสอบเอกสาร) อีกครั้งในโลกอุดมคติเว็บไซต์ขององค์กรและหลักประกันการตลาดอื่น ๆ สามารถสร้างได้ในลักษณะเดียวกัน
เป็นหนึ่งในบันทึกสุดท้าย ระบบการรวมอย่างต่อเนื่องรู้ว่าจำเป็นต้องมีการสร้างการสร้าง; การวิเคราะห์เชิงสถิต การทดสอบควันและการทดสอบหน่วยทำงานในแต่ละครั้งที่มีการปรับเปลี่ยนลำต้นแต่ละครั้งที่มีการแก้ไขสาขา "แท็ก" ใด ๆ และทุกครั้งที่มีการแก้ไขสาขาสาขา "อัตโนมัติ" ด้วยวิธีนี้นักพัฒนาส่วนบุคคลสามารถใช้ระบบ CI กับสาขาส่วนบุคคลของพวกเขาความสามารถที่สำคัญ IMHO