আমি ডিফ এবং প্যাচ সম্পর্কে পড়েছি তবে আমার কী প্রয়োজন তা কীভাবে প্রয়োগ করব তা আমি বুঝতে পারি না। আমার ধারণা এটি খুব সহজ, তাই আমার সমস্যাটি দেখানোর জন্য এই দুটি ফাইল নিন:
a.xml
<resources>
<color name="same_in_b">#AAABBB</color>
<color name="not_in_b">#AAAAAA</color>
<color name="in_b_but_different_val">#AAAAAA</color>
<color name="not_in_b_too">#AAAAAA</color>
</resources>
b.xml
<resources>
<color name="same_in_b">#AAABBB</color>
<color name="in_b_but_different_val">#BBBBBB</color>
<color name="not_in_a">#AAAAAA</color>
</resources>
আমি একটি আউটপুট রাখতে চাই, যা দেখতে এটির (অর্ডার কোনও ব্যাপার নয়):
<resources>
<color name="same_in_b">#AAABBB</color>
<color name="not_in_b">#AAAAAA</color>
<color name="in_b_but_different_val">#BBBBBB</color>
<color name="not_in_b_too">#AAAAAA</color>
<color name="not_in_a">#AAAAAA</color>
</resources>
মার্জটিতে এই সাধারণ নিয়মগুলির সাথে সমস্ত লাইন থাকা উচিত:
- যে কোনও লাইন কেবলমাত্র ফাইলগুলির মধ্যে একটি
- যদি কোনও লাইনের একই নামের ট্যাগটি থাকে তবে ভিন্ন মান থাকে তবে দ্বিতীয়টি থেকে মানটি নিয়ে যান
আমি এই টাস্কটি ব্যাশ স্ক্রিপ্টের মধ্যে প্রয়োগ করতে চাই, সুতরাং অন্য প্রোগ্রামামের চেয়ে আরও ভালভাবে ফিট করা থাকলে এটি অবশ্যই আলাদা এবং প্যাচ দিয়ে করা দরকার হবে না
diff
কোন ফাইলগুলিতে কোন ফাইলগুলি আপনাকে অন্য ফাইল নয় তা বলতে পারে তবে কেবল সম্পূর্ণ রেখার গ্রানুলারিটিতে।patch
একই জাতীয় ফাইলটিতে একই পরিবর্তনগুলি করার জন্য কেবল উপযুক্ত (সম্ভবত একই ফাইলের একটি ভিন্ন সংস্করণ, বা সম্পূর্ণ আলাদা ফাইল যেখানে তবে প্রতিটি পরিবর্তনের জন্য লাইন সংখ্যা এবং আশেপাশের লাইনগুলি আপনার মূল ফাইলের অনুরূপ)। সুতরাং না, তারা এই কাজের জন্য বিশেষভাবে উপযুক্ত নয়। আপনি হয়ত দেখতে চানwdiff
তবে সমাধানটির জন্য সম্ভবত একটি কাস্টম স্ক্রিপ্ট প্রয়োজন। যেহেতু আপনার ডেটা এক্সএমএলের মতো দেখাচ্ছে তাই আপনি কিছু এক্সএসএল সরঞ্জামের সন্ধান করতে পারেন।