আমি অতীতে, আমার উত্স নথি সংরক্ষণের জন্য সাবভার্সন সংগ্রহশালা ব্যবহার করেছি এবং সংগ্রহস্থল সংস্থার জন্য "প্রকল্প-গৌণ" কনভেনশন অনুসরণ করেছি, যা আমি বড় এবং ছোট উভয় প্রতিষ্ঠানের পক্ষে খুব ভালভাবে কাজ করতে দেখেছি।
আমরা আমাদের ভাণ্ডার শাখা গঠন করব; ট্যাগ এবং ট্রাঙ্ক নীচে:
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
ইঞ্জিনিয়ারিং দলের মধ্যে কাঠামো যোগাযোগের ক্ষেত্রে সাহায্যের জন্য সংগ্রহস্থলের কাঠামোটি ব্যবহার করার (এবং এখনও রয়েছে) ধারণাটি ছিল; ব্যবসায়ের গ্রাহক-মুখোমুখি অংশ এবং অন্যান্য বিভিন্ন স্টেকহোল্ডার এবং ডোমেন বিশেষজ্ঞ
বুদ্ধিমান হতে: উত্স নথি যা "প্রকল্প" ডিরেক্টরিগুলির মধ্যে একটিতে বসে থাকে কেবল একবার একবার ব্যবহার হয়ে যায় (এবং অর্থ উপার্জন করে)। "প্রোডাক্টলাইনস" ডিরেক্টরিগুলির মধ্যে যে কোনও একটি দস্তাবেজগুলি সেই নির্দিষ্ট লাইন থেকে পণ্য বিক্রি হওয়ার পরে বহুগুণ অর্থ উপার্জন করে। "লাইব্রেরি" ডিরেক্টরিগুলির মধ্যে যে কোনও একটি দস্তাবেজগুলি যে সমস্ত পণ্য ব্যবহার করে সেগুলি বিক্রি হয়ে যায় তার থেকে বহুগুণ বেশি অর্থ উপার্জন করে।
এটি ব্যয়গুলির সূক্ষ্মকরণের ধারণাটি সুস্পষ্ট করে তোলে এবং ব্যবসায়ের পুরো উত্স নথির পুনরায় ব্যবহারের জন্য সমর্থন তৈরি করতে সহায়তা করে।
একটি আদর্শ বিশ্বে, ব্যবসায়ের অংশগ্রাহক গ্রাহকরা উপস্থাপনা এবং অন্যান্য বিক্রয় জামানত সংরক্ষণ করতে এই কাঠামোটি ব্যবহার করবেন, যাতে বিকাশকারীরা প্রাসঙ্গিক পণ্য ডিরেক্টরিটির পাশাপাশি গ্রাহক প্রত্যাশা কী তৈরি হয়েছে তা দেখতে পাবেন এবং গ্রাহকের মুখোমুখি সহকর্মীরা উন্নয়ন ট্র্যাক করতে পারবেন তারা বিক্রি করছে এমন বৈশিষ্ট্য এবং পণ্যগুলিতে অগ্রগতি।
এর অর্থ হ'ল এখানে একটি সাধারণ কাঠামো রয়েছে যার উপরে আমাদের বিল্ড অটোমেশন সরঞ্জামগুলি পরিচালনা করতে পারে। (আমাদের বিল্ড স্ক্রিপ্টগুলি "বিল্ড" ফোল্ডারগুলির সন্ধানকারী উত্স গাছের পথে হাঁটে যার মধ্যে তারা কনফিগারেশন ফাইলগুলি সন্ধান করে যা প্রতিটি উপাদান কীভাবে তৈরি করা যায় তা উল্লেখ করে; ডকুমেন্টেশন জেনারেশন এবং পরীক্ষার জন্য অনুরূপ প্রক্রিয়া ঘটে)। আবার, একটি আদর্শ বিশ্বে প্রতিষ্ঠানের ওয়েবসাইট এবং অন্যান্য বিপণন জামানত একই পদ্ধতিতে নির্মিত হতে পারে।
একটি চূড়ান্ত নোট হিসাবে; অবিচ্ছিন্ন ইন্টিগ্রেশন সিস্টেম জানে যে এটি একটি বিল্ড ট্রিগার করা প্রয়োজন; স্থির বিশ্লেষণ; প্রতিবার ট্রাঙ্কটি সংশোধন করা হলে প্রতিটি ধোঁয়া পরীক্ষা ও ইউনিট পরীক্ষা চালানো হয়, প্রতিবার কোনও "ট্যাগ" শাখা সংশোধন করা হয় এবং প্রতিবার কোনও "স্বয়ংক্রিয়" শাখা শাখা সংশোধন করা হয়। এইভাবে, পৃথক বিকাশকারীরা তাদের ব্যক্তিগত শাখা, একটি গুরুত্বপূর্ণ সামর্থ্য, আইএমএইচও সহ সিআই সিস্টেমটি ব্যবহার করতে পারে।