সংস্করণ নিয়ন্ত্রণ সিস্টেমের সুবিধাগুলি কী যা প্রতিটি ফাইল পৃথকভাবে সংস্করণ করে?


15

গত কয়েক বছর ধরে আমি বেশ কয়েকটি বিভিন্ন সংস্করণ নিয়ন্ত্রণ সিস্টেমের সাথে কাজ করেছি। আমার জন্য তাদের মধ্যে অন্যতম মৌলিক পার্থক্য হ'ল তারা পৃথকভাবে ফাইলগুলি সংস্করণ করেন (প্রতিটি ফাইলের নিজস্ব পৃথক সংস্করণ নম্বর এবং ইতিহাস রয়েছে) অথবা সম্পূর্ণরূপে সংগ্রহস্থল (একটি "কমিট" বা সংস্করণ পুরো সংগ্রহস্থলের একটি স্ন্যাপশট উপস্থাপন করে) ।

কিছু "প্রতি ফাইল" সংস্করণ নিয়ন্ত্রণ সিস্টেম:

  • জীবনবৃত্তান্ত
  • ClearCase
  • ভিজ্যুয়াল সোর্সসেফ

কিছু "সম্পূর্ণ-সংগ্রহস্থল" সংস্করণ নিয়ন্ত্রণ সিস্টেম:

  • SVN
  • git
  • তত্পর

আমার অভিজ্ঞতায়, প্রতি-ফাইল সংস্করণ নিয়ন্ত্রণ সিস্টেমগুলি কেবল সমস্যার সৃষ্টি করেছে এবং সঠিকভাবে ব্যবহারের জন্য আরও অনেকগুলি কনফিগারেশন এবং রক্ষণাবেক্ষণের প্রয়োজন (উদাহরণস্বরূপ, ক্লিয়ারকেসে "কনফিগার স্পেকস")। আমার কোনও সহকর্মীর কোনও সম্পর্কহীন ফাইল পরিবর্তন করার এবং আদর্শভাবে বিকাশের একটি বিচ্ছিন্ন রেখা হতে পারে তা ভঙ্গ করার অনেক উদাহরণ রয়েছে।

এই প্রতি-ফাইল সংস্করণ নিয়ন্ত্রণ সিস্টেমের সুবিধা কি ? "পুরো-সংগ্রহস্থল" সংস্করণ নিয়ন্ত্রণ সিস্টেমগুলিতে প্রতি-ফাইল সংস্করণ নিয়ন্ত্রণ সিস্টেমগুলি নেই এমন কোন সমস্যা আছে?


3
আমি মনে করি এটি মূলত historতিহাসিকভাবে ঠিক এরকমই ছিল এবং আমরা এখন ফাইল-ভিত্তিক থেকে চেঞ্জসেট-ওরিয়েন্টেড সিস্টেমের দিকে সরে যাচ্ছি, তবে আজকের দৃষ্টিকোণ থেকে বোঝা যায় না কেন লোকেরা প্রতি-ফাইলের পদ্ধতির চেষ্টা করেও? দুর্দান্ত প্রশ্ন!
blubb

এই প্রশ্নটি বিতর্কিত হিসাবে উপস্থিত হলে ক্ষমা প্রার্থনা করুন। এটি সাম্প্রতিক কিছু হতাশার একটি পণ্য।
মাইক ড্যানিয়েলস

1
@ মাইক ড্যানিয়েলস: আপনি পরিষ্কারভাবে সুবিধাগুলির জন্য জিজ্ঞাসা করায় এটি (কমপক্ষে আমার কাছে নয়)।
blubb

এই দুটি দৃষ্টিভঙ্গি কেবল আলাদা কনভেনশন। অন্যের পক্ষে একজনের পক্ষে যে কোনও যুক্তি কেবল অন্য পক্ষের পক্ষের পক্ষ থেকে পাল্টা যুক্তি উত্থাপন করে। উদাহরণস্বরূপ, আপনি যদি ক্লিয়ারকেসে কোনও "সম্পূর্ণ-প্রতিনিধি" আচরণ চান, আপনি তারিখ অনুসারে আপনার কনফিগার বৈশিষ্টটি কাস্টম করতে পারেন।
মউভিচিয়েল

এসভিএন-এর ফাইল প্রতি সংস্করণ রয়েছে, নাকি শেষ সংস্করণেও এটি পরিবর্তন হয়েছে?
ক্লাইম

উত্তর:


12

আমার অভিজ্ঞতায় কোনও নেই: "সম্পূর্ণ-সংগ্রহস্থল" ভিসিএস "প্রতি-ফাইল" ভিসিএস-তে কঠোরভাবে আধিপত্য বিস্তার করে।


3

যখন আপনি একই সংগ্রহস্থল থেকে পণ্য লাইন (একাধিক সফ্টওয়্যার পণ্য) তৈরি করেন তখন প্রতি ফাইলটির একটি সুবিধা থাকে।

কিছু গ্রাহক চুক্তিভিত্তিক পরিবেশের প্রমাণ প্রয়োজন যে তাদের কোড ড্রপ কেবলমাত্র তারা চেয়েছিলেন পরিবর্তনগুলি করেছে, এবং অন্যান্য পরিবর্তনগুলি নয়। যদি ফাইল সংস্করণ নম্বরগুলি সব একই থাকে তবে এটি বেশ সহজ।

এবং এটি কোনও এলোমেলো উদাহরণ নয় যা আমি পাতলা বাতাস থেকে টেনে এনেছি।

আমি আমার সেনাবাহিনীর কাছে পূর্ববর্তী নিয়োগকর্তার কাছ থেকে প্রচুর সংখ্যক ক্রয় করে এমন একটি সিস্টেমের জন্য মার্কিন সেনাবাহিনীর কাছে সফ্টওয়্যার আপডেটগুলি প্রেরণ করার সময় শেষবার এটি হয়েছিল। চুক্তির ডলারের মূল্য ভগ্নাংশ বিলিয়ন ডলার পরিমাপ করা হত (যখন মার্কিন ডলার অনেক বেশি মূল্যবান ছিল)

সুতরাং এটি কিছু সময় সাহায্য করে।

অদ্ভুতভাবে: আমি এখন যেখানে কাজ করি, আমরা প্রতিটি গ্রাহককেও একটি ভিন্ন প্রসারণযোগ্য জাহাজ প্রেরণ করি .... (এবং আপনি ভাবছিলেন এমন ক্ষেত্রে এটি আমি সিদ্ধান্ত নিয়েছিলাম না))

আমি সন্দেহ করি যে এটি সঙ্কুচিত-মোড়ানো বা ওয়েব অ্যাপ্লিকেশনগুলির চেয়ে প্রতিরক্ষা / মহাকাশ স্পেসে অনেক বেশি সাধারণ।


3
তবে পুরো ফাইল সংগ্রহস্থলের একটি শাখাও একই চাহিদা পূরণ করতে পারে। উদাহরণস্বরূপ, বিজেআর-তে, শাখাগুলি আপনার মার্জ হওয়া অবধি (অথবা কোনও ভাণ্ডার ভাগ করুন) অবধি মূললাইন থেকে সম্পূর্ণ স্বাধীন independent
এডিএ-কিএ মার্ট-ওরা-y

1
আমি কোনও একক পরিস্থিতি সম্পর্কে ভাবতে পারি না যেখানে 'প্রতি-ফাইল "ভিসিএসে কোন ফাইলগুলি ব্যবহার করতে হবে তা নির্ধারণ করতে কোনও' সম্পূর্ণ-সংগ্রহস্থল 'সিস্টেমের শাখাটি ভিসিএসের বাহ্যিক রাষ্ট্রের উপর নির্ভর করার চেয়ে প্রয়োজনীয় রাষ্ট্রকে আরও ভালভাবে প্রকাশ করতে পারে না। ইউনি এর পরে আমার প্রথম কাজটি আরসিএস, প্রকল্পের সংস্করণে একগুচ্ছ স্ক্রিপ্ট এবং সংস্করণ স্ক্রিপ্টগুলির সংস্করণ করার জন্য একটি শীর্ষ স্তরের স্ক্রিপ্ট ব্যবহার করেছিল - পরম দুঃস্বপ্ন, এবং হ্যাঁ, এটিও সামরিক প্রকল্পের জন্য। * 8 ')
মার্ক বুথ

@ মার্ক বুথ, গ্রাহকরা জানতেন যে কোন ফাইলগুলি তারা ঠিক করতে চেয়েছিল তার জন্য কী পরিবর্তন হয়েছে। সুতরাং শারীরিক কনফিগারেশন
অডিটটি

আমি যা বলছি তা হ'ল একটি সংস্করণ + নিরীক্ষিত প্যাচটির বিভিন্ন স্থানে, ভিসিএস এবং নিরীক্ষকদের বিভিন্ন তথ্য প্রয়োজন । 'পুরো-সংগ্রহস্থল' সিস্টেমে একটি শাখা রয়েছে, সেই দুটি রাজ্য পৃথক সত্তা হিসাবে রেকর্ড করা হয়েছে। এখন একই তথ্য ভিসিএস এবং অডিট সিস্টেমের মধ্যে সদৃশ এবং সর্বদা মেলে। gitএমনকি লেখক এবং প্রতিশ্রুতিবদ্ধ মধ্যে পার্থক্য করতে পারে, তাই আপনি একটি 'নিরীক্ষিত' সংগ্রহস্থল রাখতে পারেন যেখানে আপনি প্যাচ (লেখক) কে তৈরি করেছিলেন এবং কে এটির (কমিটর) অডিট করেছেন উভয়েই জানেন। আমাদের একটি অনুকরণীয় পরিস্থিতি সরবরাহ করুন এবং আমি আমার -1 বিপরীত করব।
মার্ক বুথ

@ মার্ক বুথে কি প্যাচ? তারা জানত যে তাদের সফ্টওয়্যারটি ফাইলগুলির একটি সেট এই 1.01 বি 1.05 ডি 1.55 ই 1.544 এ 1.044 এবং এসভিডি তারা যে সংস্করণ স্বীকার করেছে তার ফাইল-বাই-ফাইল পরিবর্তনের তথ্য রয়েছে যেমন ই 110 এর ত্রুটি ঠিক করা হয়েছে 1104, পুরানো সংস্করণ 1.43, নতুন সংস্করণ 1.44 । আমরা যদি সংস্করণ 1.01 থেকে এফ পরিবর্তন করি তবে স্বর্গ আমাদের সহায়তা করবে। পরিস্থিতি আরও জটিল ছিল কারণ প্রকৃত বাগগুলি স্থির হয়ে গেছে, তারা এর জন্য পরিবর্তন চায় না। এই লোকেরা উন্নয়নের এক বছর থেকে চেরি-বাছাই করা কয়েকটি বৈশিষ্ট্য বেছে নেওয়ার জন্য ন্যূনতম সেটগুলি চেয়েছিল। পোস্ট-হক বাগফিক্স নির্বাচন।
টিম উইলিসক্রফ্ট


0

আমি বলতে পারি যে "প্রতি-ফাইল" সংস্করণ নিয়ন্ত্রণ সিস্টেমগুলির ভিসিএস বাস্তবায়ন ব্যতীত অন্য কোনও সুস্পষ্ট সুবিধা নেই। ভিসিএস কোডাররা কোডটি দেখে খুশি হবে যখন এটি "প্রতি ফাইলের সংস্করণ" ছিল। আমি এই বিষয়টির সাথে একমত, এটি historতিহাসিকভাবে উঠে এসেছে।


0

আপনার সাথে সম্পর্কিত ফাইলগুলি থাকলে প্রতি-ফাইলের পদ্ধতির কোনও সুবিধা নেই। কোন উন্নয়ন সেটিংসে এটি সর্বাধিক সাধারণ ঘটনা।

কয়েকটি অদ্ভুত ক্ষেত্রে - / ইত্যাদি বা। ইউনিক্সে আপনার হোম ডিরেক্টরিতে থাকা ফাইলগুলি কেবলমাত্র আমার কাছে নিয়মিত থাকে - আপনি (বেশিরভাগ) অপ্রস্তুত ফাইলগুলি পরিচালনা করছেন। এবং তারপরে একটি সিস্টেম যা অপ্রাসঙ্গিক পরিবর্তনগুলি সিঙ্কে রাখার জন্য জোর দিয়ে থাকে তা উপদ্রব হতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.