কিভাবে একটি প্যাচ একটি নতুন ফাইল অন্তর্ভুক্ত


9

আমি এখানে চালু হিসাবে একটি প্যাচ করার চেষ্টা করি ।
বলুন আমার দুটি ডিরেক্টরি রয়েছে pp1(modified version)এবং pp0(clean version)আমি কমান্ডটি pp0.patchদিয়ে একটি প্যাচ ফাইল তৈরি করি diff:

 diff -crB pp0 pp1 > pp0.patch

সমস্যাটি যদি কেবল পিপি 1 এ থাকে তবে এটি প্যাচে অন্তর্ভুক্ত করা হবে না। কিভাবে এটি প্রায় কাজ?

আপডেট :
আমি প্রথমে pp0 এর ডিরেক্টরিতে পরিবর্তন করেছি এবং প্যাচটি সফল হবে কিনা তা পরীক্ষা করে নিই

  patch --dry-run -p1 -i /path-to-pp0.patch

আমি জুড়েছেন --new-fileকরার diffকমান্ড, যারা শুধুমাত্র pp1ফলাফলে তালিকাবদ্ধ করা হয়নি

আপডেট :
আমি ভুলক্রমে ভুল ফাইলটি প্যাচ করেছি

  diff -crb --new-file pp1 pp0 > pp0.patch

অথবা

  diff -crNb pp1 pp0 > pp0.patch

করব

উত্তর:


9

আপনি --new-fileসুইচ ব্যবহার করে এটি করতে সক্ষম হওয়া উচিত । ডিফার ম্যান পৃষ্ঠা থেকে নেওয়া :

 --new-file
          In directory comparison, if a file is found in only  one  direc-
          tory, treat it as present but empty in the other directory.

এটা চেষ্টা কর:

diff -crB --new-file pp0 pp1 > pp0.patch

আমি এটি সঠিকভাবে প্যাচ করেছি কিনা জানি না তবে নতুন ফাইলটি অন্তর্ভুক্ত নেই
মানুহ্যাং

আমার ক্ষমা চাওয়া, এটি কাজ করে
manuzhang

3

তাত্ক্ষণিক উত্তর: diff -Nযেমন pootzko দ্বারা ব্যাখ্যা করা হয়েছে । আপনি দেখতে পাবেন যে সেখানে প্রচুর প্যাচ তৈরি করেছেন diff -urN

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


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