সাবভারশন (এবং সিভিএস) এ, সংগ্রহস্থলটি প্রথম এবং সর্বাগ্রে থাকে। গিট এবং পার্কে সত্যিকার অর্থে কোনও সংগ্রহস্থলের ধারণা নেই; এখানে পরিবর্তনগুলি কেন্দ্রীয় থিম।
+1
সিভিএস / এসভিএন-এর ঝামেলা এ থেকে আসে যে এই সিস্টেমগুলি
পরিবর্তনের পিতৃত্বকে স্মরণ করে না । গিট এবং মার্চুরিয়ালে, প্রতিশ্রুতিবদ্ধর দ্বারা একাধিক সন্তান থাকতে পারে না, এর একাধিক বাবা-মাও থাকতে পারে!
এটি গ্রাফিকাল সরঞ্জামগুলির একটি gitk
বা সহজেই ব্যবহার করে পর্যবেক্ষণ করতে পারে hg
view
। নিম্নলিখিত উদাহরণে, শাখা # 2 কমিট এ-তে # 1 থেকে কাঁটাচামচ করা হয়েছিল এবং এর পরে একবারে মার্জ হয়ে গেছে (এম এ, কমিট বি এর সাথে সংযুক্ত):
o---A---o---B---o---C (branch #1)
\ \
o---o---M---X---? (branch #2)
নোট কিভাবে A এবং B, দুটি সন্তান আছে যেহেতু এম দুই বাবা । এই সম্পর্কগুলি ভান্ডারে রেকর্ড করা হয়। ধরা যাক যে শাখা # 2 এর রক্ষণাবেক্ষণকারী এখন শাখা # 1 থেকে সর্বশেষ পরিবর্তনগুলি মার্জ করতে চায়, তারা একটি আদেশ জারি করতে পারে যেমন:
$ git merge branch-1
এবং সরঞ্জামটি স্বয়ংক্রিয়ভাবে জানতে পারবে যে বেসটি বি - কারণ এটি # 2 এর টিপসের পূর্বপুরুষ, কমিট এম তে রেকর্ড করা হয়েছিল - এবং এটি বি এবং সি এর মধ্যে যা ঘটেছিল তা মার্জ করে রাখতে হবে সিভিএস এই তথ্য রেকর্ড করে না , বা সংস্করণ 1.5 এর আগে এসভিএন হয়নি। এই সিস্টেমে গ্রাফটি দেখতে পাবেন:
o---A---o---B---o---C (branch #1)
\
o---o---M---X---? (branch #2)
এম যেখানে এ এবং বি এর মধ্যে ঘটে যাওয়া সমস্ত কিছু কেবলমাত্র একটি বিশাল "স্কোয়াশড" কমিট, এম এর উপরে প্রয়োগ করা হয়েছে তা নোট করুন যে কাজটি সম্পন্ন হওয়ার পরে এম এর কোনও চিহ্ন খুঁজে পাওয়া যায় না (সম্ভাব্যভাবে মানব-পঠনযোগ্য মন্তব্যে ব্যতীত) এম ইতিহাস থেকে আরও দুর্ভেদ্য তৈরি করে - বা কয়টি কমিটকে একসাথে ভেঙে ফেলা হয়েছিল তা থেকে উদ্ভূত হয়নি ।
এক জিনিসটা কি একত্রীকরণ বেস প্রথম একত্রীকরণ সময়ে করেছে (এবং এক: খারাপ এখনো, একটি দ্বিতীয় একত্রীকরণ করণ একটি দুঃস্বপ্ন হয়ে গেছে করার জানেন
তারপর বর্তমান যে সেখানে প্রথম স্থানে মার্জ হয়েছে!), সরঞ্জামটির তথ্য যাতে এটি এম এর উপরে A..B পুনরায় চালিত করার চেষ্টা না করে তবে ঘনিষ্ঠ সহযোগিতায় কাজ করার সময় এগুলি সবই যথেষ্ট কঠিন, তবে বিতরণ পরিবেশে কেবল অসম্ভব।
ক (সম্পর্কিত) সমস্যাটি হ'ল প্রশ্নের উত্তর দেওয়ার কোনও উপায় নেই: "এক্সে কি বি থাকে?" যেখানে বি একটি সম্ভাব্য গুরুত্বপূর্ণ বাগ ফিক্স। সুতরাং, কেন কেবল সেই তথ্যটি কমিটের মধ্যে রেকর্ড করা হবে না, যেহেতু এটি মার্জ করার সময় জানা যায়!
পুনশ্চ. - এসভিএন 1.5+ মার্জ রেকর্ডিংয়ের ক্ষমতা নিয়ে আমার কোনও অভিজ্ঞতা নেই তবে বিতরণ করা সিস্টেমগুলির তুলনায় কর্মপ্রবাহটি অনেক বেশি স্বীকৃত বলে মনে হচ্ছে। যদি প্রকৃতপক্ষে এটি হয় তবে এটি সম্ভবত কারণ - উপরোক্ত মন্তব্যে যেমন উল্লেখ করা হয়েছে - নিজেরাই পরিবর্তনের পরিবর্তে ফোকাসটি সংগ্রহস্থল সংস্থায় দেওয়া হয়েছে।