আমি একটি শিক্ষানবিস makeএবং আমি কখন ব্যবহার করব তা নিয়ে ভাবছি make clean।
একজন সহকর্মী আমাকে বলেছিলেন যে ইনক্রিমেন্টাল বিল্ডগুলি makeফাইল টাইমস্ট্যাম্পগুলির উপর ভিত্তি করে। সুতরাং, আপনি যদি আপনার ভিসিএসে কোনও ফাইলের পুরানো সংস্করণটি পরীক্ষা করে দেখেন তবে এটিতে একটি "পুরানো" টাইমস্ট্যাম্প থাকবে এবং এটি "এই ফাইলটি পুনরায় সংকলনের প্রয়োজন নেই" হিসাবে চিহ্নিত হবে। তারপরে, সেই ফাইলটি পরবর্তী বিল্ডে অন্তর্ভুক্ত করা হবে না।
একই সহকর্মীর মতে এটি ব্যবহার করার কারণ হবে make clean।
যাইহোক, আমি make cleanঅন্যান্য স্ট্যাক এক্সচেঞ্জ প্রশ্নগুলি থেকে "কখন ব্যবহার করব " প্রশ্নের উত্তর পেয়েছি তবে আমার অন্য প্রশ্নটি হ'ল:
makeউদাহরণস্বরূপ, SHA-1 এ নয় কেন ফাইল টাইমস্ট্যাম্পগুলিতে নির্ভর করে বর্ধিত বিল্ডগুলি ব্যবহার করে ? উদাহরণস্বরূপ, গিট দেখায় যে SHA-1 ব্যবহার করে কোনও ফাইল পরিবর্তন করা হয়েছিল কিনা তা আমরা সফলভাবে নির্ধারণ করতে পারি।
এটা কি গতির সমস্যার জন্য?
makeতবে আপনার সফ্টওয়্যারটি ভেঙে যাবে না, তবে makeনতুন সংস্করণগুলিতে পিছনের দিকে সামঞ্জস্য থাকার চেষ্টা করে। কোনও অকারণে মূল আচরণ পরিবর্তন করা এর বিপরীত। এবং তারিখগুলি দেখায় যে এটি কেন প্রাথমিকভাবে SHA-1 ব্যবহার করার জন্য তৈরি করা হয়নি, বা এটি উপলব্ধ হওয়ার পরে কেন এটি পুনরায় তৈরি করা সহজ ছিল না (ততক্ষণে makeইতিমধ্যে কয়েক দশক পুরানো ছিল)।
make70 এর দশকে তৈরি হয়েছিল। 90 এর দশকে SHA-1 তৈরি হয়েছিল। গিট 00 এর দশকে তৈরি হয়েছিল। আপনি যা চান তা সর্বশেষ হ'ল কিছু অস্পষ্ট বিল্ডগুলির জন্য যা হঠাৎ ব্যর্থ হওয়ার জন্য 30 বছর ধরে কাজ করে যাচ্ছিল কারণ কেউ চেষ্টা করেছেন এবং পরীক্ষিত সিস্টেমের সাহায্যে সমস্ত আধুনিক হওয়ার সিদ্ধান্ত নিয়েছেন।