সম্পাদনাগুলি একত্রিত করার আগে ম্যাকে দুটি টেক্সট ফাইলের তুলনা করতে, প্রথমে উভয় সংস্করণের পৃথক কপি তৈরি করুন, তারপর টার্মিনালের diff কমান্ড বা Visual Studio Code বা BBEdit-এর মতো একটি ভিজ্যুয়াল তুলনা টুলের মাধ্যমে সেগুলির পার্থক্য পরীক্ষা করুন। এই তুলনাটি দেখায় কী পরিবর্তিত হয়েছে; কোন সম্পাদনাগুলি রাখবেন তা আপনাকে নির্ধারণ করতে হবে এবং পরীক্ষা না করা পর্যন্ত মার্জ করা ফলাফলটি একটি নতুন ফাইল হিসেবে সংরক্ষণ করতে হবে।

দুটি সংস্করণ প্রস্তুত করুন

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

মার্জ করার আগে, ফাইন্ডারে মূল ফাইলগুলির ডুপ্লিকেট তৈরি করুন অথবা সমর্থন করে এমন অ্যাপে File > Duplicate ব্যবহার করুন। কপিগুলির স্পষ্ট নাম দিন, যেমন draft-original.txt, draft-edited.txt, এবং পরবর্তীতে draft-merged.txt। ভুলবশত কোনো বিষয়বস্তু ওভাররাইট করে ফেললে এটি আপনাকে আগের অবস্থায় ফিরে যাওয়ার সুযোগ দেয়। নিশ্চিত করুন যে উভয় ফাইলই প্লেইন টেক্সট এবং আপনি সঠিক ফাইল জোড়ার তুলনা করছেন; ফরম্যাট করা নথিতে এমন কাঠামো থাকতে পারে যা প্লেইন টেক্সট তুলনায় প্রদর্শিত হয় না।

টার্মিনালে diff ব্যবহার করে ফাইল তুলনা করুন

macOS-এর কমান্ড লাইন ব্যবহার করে দ্রুত তুলনা করার জন্য, টার্মিনাল খুলুন এবং কমান্ডের পরে একটি স্পেস রেখে diff -u টাইপ করুন। ফাইন্ডার থেকে প্রথম ফাইলটি টেনে টার্মিনাল উইন্ডোতে আনুন, একটি স্পেস টাইপ করুন, দ্বিতীয় ফাইলটি টেনে আনুন, তারপর Return চাপুন। কমান্ডটি দুটি ফাইলের বিষয়বস্তু তুলনা করে এবং আশেপাশের প্রাসঙ্গিক অংশসহ একটি ইউনিফাইড পার্থক্য প্রদর্শন করে। প্রথম পাথটি হলো প্রারম্ভিক সংস্করণ; দ্বিতীয়টি হলো সেই সংস্করণ যার সাথে তুলনা করা হচ্ছে। Apple-এর diff ম্যানুয়াল পেজ-এ এই কমান্ড এবং এর ইউনিফাইড আউটপুট বিকল্পের বিবরণ রয়েছে।

diff -u /path/to/first.txt /path/to/second.txt

আউটপুটে, - দিয়ে শুরু হওয়া লাইনগুলি প্রথম ফাইলে রয়েছে কিন্তু দ্বিতীয়টিতে নেই; + দিয়ে শুরু হওয়া লাইনগুলি দ্বিতীয়টিতে রয়েছে কিন্তু প্রথমটিতে নেই। কোনো চিহ্ন ছাড়া লাইনগুলি হলো প্রাসঙ্গিক অংশ (context)। @@ দিয়ে শুরু হওয়া একটি হেডার পরিবর্তিত অংশের আনুমানিক লাইন পরিসীমা নির্দেশ করে। টার্মিনালে কোনো পার্থক্যের আউটপুট না দেখালে বুঝতে হবে ফাইল দুটি হুবহু এক। কোনো পাঠযোগ্য লাইন না দেখিয়ে ফাইলগুলি আলাদা বলার মতো ফলাফল দেখালে বুঝতে হবে ইনপুটগুলি সাধারণ টেক্সট হিসেবে গণ্য হচ্ছে না।

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

সহজ পর্যালোচনার জন্য ভিজ্যুয়াল তুলনা ব্যবহার করুন

Visual Studio Code-এ, একটি ফাইল খুলুন, তারপর কমান্ড প্যালেট ব্যবহার করুন এবং অন্য ফাইলটি নির্বাচন করতে File: Compare Active File With... বেছে নিন। বিকল্পভাবে, এক্সপ্লোরারে একটি ফাইলে রাইট-ক্লিক করে Select for Compare বেছে নিন, তারপর অন্যটিতে রাইট-ক্লিক করে Compare with Selected বেছে নিন। VS Code পরিবর্তনগুলি পর্যালোচনার জন্য একটি diff এডিটর প্রদর্শন করে। এর ডকুমেন্টেশনে সক্রিয় ফাইলটিকে সংরক্ষিত সংস্করণ বা ক্লিপবোর্ডের সাথে তুলনা করার বিষয়টিও বর্ণনা করা হয়েছে। Visual Studio Code-এর ফাইল তুলনার নির্দেশাবলী-তে এই বিকল্পগুলি তালিকাভুক্ত রয়েছে।

BBEdit আরেকটি ম্যাক-বান্ধব উপায় প্রদান করে: Search > Find Differences বেছে নিন, তুলনা উইন্ডোতে দুটি ফাইল সরবরাহ করুন এবং তুলনা শুরু করুন। এর বর্তমান তুলনা চার্টে এর বৈশিষ্ট্যগুলির মধ্যে ফাইল তুলনা এবং অক্ষর-স্তরের পার্থক্য প্রদর্শন তালিকাভুক্ত রয়েছে। BBEdit-এর ফিচার তুলনা চার্ট-এ উপলব্ধ Find Differences সক্ষমতা বর্ণনা করা হয়েছে।

আপনি যে অ্যাপই ব্যবহার করুন না কেন, শুরু থেকে শেষ পর্যন্ত তুলনাটি পরীক্ষা করুন। লাইন যোগ বা মুছে ফেলার সময় একই ধরণের টেক্সট ব্লকগুলি স্থান পরিবর্তন করতে পারে, তাই দৃশ্যত পাশাপাশি থাকা কোনো পরিবর্তন একই সম্পাদনার অংশ বলে ধরে নেবেন না। এছাড়াও বিরামচিহ্ন, ফাঁকা লাইন, বানান এবং পুনরাবৃত্ত অংশগুলি পরীক্ষা করুন: ছোটখাটো পার্থক্যও অর্থ বা বিন্যাস পরিবর্তন করতে পারে।

সতর্কতার সাথে মার্জ করুন এবং সংরক্ষিত ফলাফল যাচাই করুন

প্রতিটি পরিবর্তন ধরে কাজ করুন এবং প্রথম সংস্করণ, দ্বিতীয় সংস্করণ বা উভয়ের সংমিশ্রণ রাখবেন কিনা তা বেছে নিন। যখন উভয় ফাইলই একই বাক্য বা অনুচ্ছেদ পরিবর্তন করে, তখন আশেপাশের টেক্সটসহ উভয় সম্পাদনা পড়ুন এবং নিজেই সমাধান করুন। দুটি ফাইলের তুলনা কেবল পার্থক্য সনাক্ত করে; স্বাধীনভাবে সম্পাদিত কোন সংস্করণটি কাঙ্ক্ষিত চূড়ান্ত অর্থ প্রকাশ করে তা এটি বলতে পারে না।

একত্রিত টেক্সটটি একটি তৃতীয় ফাইলে সংরক্ষণ করুন। তারপর সেই সংরক্ষিত ফাইলটি পুনরায় খুলুন এবং আপনার পরিবর্তিত এলাকাগুলি দ্রুত দেখে নিন। আপনি যদি নিশ্চিত হতে চান যে এটি একটি উৎসের সাথে হুবহু মিলছে, তবে একই টুল ব্যবহার করে সেই উৎসের সাথে সংরক্ষিত ফলাফলটি তুলনা করুন। ফলাফল নিয়ে সন্তুষ্ট না হওয়া পর্যন্ত মূল ফাইলগুলি সংরক্ষণ করে রাখুন।

এই কার্যপদ্ধতিটি দুটি টেক্সট ফাইলের জন্য। একটি ভিজ্যুয়াল diff কিন্তু ত্রি-মুখী (three-way) মার্জ নয়: যখন দুজন ব্যক্তি একটি শেয়ার করা মূল সংস্করণ সম্পাদনা করেন, তখন স্বাধীন সংযোজনগুলিকে বিরোধপূর্ণ সম্পাদনা থেকে আলাদা করতে আপনার সেই মূল (base) সংস্করণটিরও প্রয়োজন হতে পারে। ফাইলগুলি যদি রিচ-টেক্সট বা অ্যাপ্লিকেশন-নির্দিষ্ট নথি হয়, তবে যেখানে উপলব্ধ সেখানে নথির নিজস্ব অ্যাপের তুলনা বা রিভিশন বৈশিষ্ট্যগুলি ব্যবহার করুন; সেগুলিকে প্লেইন টেক্সটে রূপান্তর বা এক্সপোর্ট করলে বিন্যাস বা কাঠামো হারিয়ে যেতে পারে।

সূত্র