আমরা এখানে সাবভার্সন বাস্তবায়ন করতে এসে যখন আমার কাছে একই প্রশ্নগুলি জিজ্ঞাসা করি - প্রায় 20 বিকাশকারী 4 - 6 টি প্রকল্প জুড়ে ছড়িয়ে পড়ে। '' উত্তর '' সহ কোনও ভাল উত্স আমি পাইনি। গত 3 বছরে আমাদের উত্তর কীভাবে বিকশিত হয়েছে তার কয়েকটি অংশ এখানে রইল:
- যতবার দরকারী হিসাবে প্রতিশ্রুতিবদ্ধ; আমাদের থাম্বের নিয়মটি প্রতিশ্রুতিবদ্ধ হয় যখনই আপনি পর্যাপ্ত কাজ করেন তবে পরিবর্তনগুলি হারিয়ে গেলে এটি পুনরায় কাজ করতে সমস্যা হবে; কখনও কখনও আমি প্রতি 15 মিনিট বা তারপরে কমিট করি, অন্য সময় এটি দিন হতে পারে (হ্যাঁ, কখনও কখনও কোডের 1 লাইন লিখতে আমার একটি দিন লাগে)
- আমরা আপনার পূর্ববর্তী উত্তরগুলির মধ্যে একটি হিসাবে প্রস্তাবিত বিভিন্ন শাখাগুলিকে বিভিন্ন বিকাশের পথে শাখাগুলি ব্যবহার করি; এই মুহূর্তে আমাদের একটি প্রোগ্রামের জন্য আমাদের 3 টি শাখা রয়েছে: মূল বিকাশের জন্য 1, প্রোগ্রামটির সমান্তরাল করার অসমাপ্ত প্রচেষ্টা হিসাবে 1 এবং এক্সএমএল ইনপুট এবং আউটপুট ফাইলগুলি ব্যবহার করার জন্য এটি সংশোধন করার প্রয়াসের জন্য 1;
- আমরা খুব কমই ট্যাগগুলি ব্যবহার করি, যদিও আমরা মনে করি উত্পাদনের ক্ষেত্রে প্রকাশগুলি সনাক্ত করতে তাদের ব্যবহার করা উচিত;
একক পথ ধরে অগ্রসর হওয়ার কথা ভাবুন। কিছু সময় বা উন্নয়নের বিপণনের রাজ্যে পণ্যটির প্রথম সংস্করণ প্রকাশের সিদ্ধান্ত নেওয়া হয়, সুতরাং আপনি '1' (বা '১.০' বা আপনার কী আছে) লেবেলযুক্ত পথে একটি পতাকা লাগান। অন্য কোনও সময়ে কিছু উজ্জ্বল স্ফুলিঙ্গটি প্রোগ্রামটির সমান্তরাল করার সিদ্ধান্ত নিয়েছে তবে সিদ্ধান্ত নিয়েছে যে এতে কয়েক সপ্তাহ লাগবে এবং এর মধ্যে লোকেরা মূল পথে যেতে থাকবে। সুতরাং আপনি পথে একটি কাঁটাচামচ তৈরি করেন এবং বিভিন্ন লোক বিভিন্ন কাঁটাচামচায় ঘুরে বেড়ায়।
রাস্তার পতাকাগুলিকে 'ট্যাগ' বলা হয় এবং রাস্তার কাঁটাচামচগুলি যেখানে 'শাখা' বিভক্ত হয়। মাঝে মাঝে, এছাড়াও, শাখাগুলি আবার একসাথে ফিরে আসে।
- আমরা এক্সিকিউটেবল (বা সিস্টেম) নির্মাণের জন্য প্রয়োজনীয় সমস্ত উপাদান সংগ্রহস্থলের মধ্যে রেখেছি; এর অর্থ কমপক্ষে উত্স কোড এবং ফাইল তৈরি করুন (বা ভিজ্যুয়াল স্টুডিওর জন্য প্রকল্প ফাইলগুলি)। তবে যখন আমাদের আইকন এবং কনফিগারেশন ফাইল এবং অন্যান্য সমস্ত স্টাফ থাকে, এটি সঞ্চিত্রে পড়ে। কিছু ডকুমেন্টেশন রেপোতে প্রবেশ করে; অবশ্যই কোনও ডকুমেন্টেশন যেমন সহায়তা ফাইলগুলি যা প্রোগ্রামের সাথে অবিচ্ছেদ্য হতে পারে, এবং এটি বিকাশকারী ডকুমেন্টেশন রাখার একটি দরকারী জায়গা।
এমনকি আমরা আমাদের প্রোডাকশন রিলিজের জন্য উইন্ডোজ এক্সিকিউটেবলগুলি সেখানে রেখেছি, সফ্টওয়্যার খুঁজছেন এমন লোকদের জন্য একটি একক অবস্থান সরবরাহ করার জন্য - আমাদের লিনাক্স রিলিজগুলি একটি সার্ভারে যায় তাই সংরক্ষণের প্রয়োজন হয় না।
- আমাদের প্রয়োজন নেই যে সর্বদা সংগ্রহস্থল একটি সর্বশেষতম সংস্করণ সরবরাহ করতে সক্ষম হয় যা তৈরি করে এবং কার্যকর করে; কিছু প্রকল্প সেভাবে কাজ করে, কিছু না; সিদ্ধান্তটি প্রোজেক্ট ম্যানেজারের সাথে স্থির থাকে এবং এটি অনেকগুলি বিষয়ের উপর নির্ভর করে তবে আমি মনে করি কোনও প্রোগ্রামে বড় পরিবর্তন করার সময় এটি ভেঙে যায়।