আমি একটি উত্তর চেয়েছিলাম, নিজেই। কেবল আউটপুট থেকে আউটপুট দিতে নিম্নলিখিতটি চেষ্টা করুন svn log
।
svn log --stop-on-copy --verbose [--limit <limit>] <repo Url> | \
awk '{ if ($0 ~ /^r[0-9]+/) rev = $0 }
{ if ($0 ~ /^ D /) { if (rev != "") { print rev; rev = "" }; print $0 } }'
এটি লগ আউটপুট মাধ্যমে ফিল্টার awk এর । awk এটি আবিষ্কার করে এমন প্রতিটি পুনর্বিবেচনা রেখাকে বাফার করে, কেবল মুছার রেকর্ড পাওয়া গেলেই আউটপুট দেয়। প্রতিটি পুনর্বিবেচনা কেবল একবার আউটপুট হয়, সুতরাং একটি পুনর্বিবেচনার একাধিক মুছে ফেলাগুলি একসাথে গোষ্ঠীভুক্ত করা হয়েছে (মান অনুসারে)svn log
আউটপুট )।
--limit
ফিরে আসা রেকর্ডের পরিমাণ হ্রাস করতে আপনি একটি নির্দিষ্ট করতে পারেন can আপনি এটি অপসারণ করতে পারেন--stop-on-copy
প্রয়োজন হিসাবে ।
আমি জানি পুরো লগটি পার্স করার দক্ষতা সম্পর্কে অভিযোগ রয়েছে। আমি মনে করি এটি গ্রেপ এর থেকে ভাল সমাধান এবং এর "কাস্ট ওয়াইড নেট" -B
বিকল্প। আমি জানি না এটি আরও দক্ষ কিনা, তবে এর বিকল্পের কথা ভাবতে পারি না svn log
। এটি @ আলেকজান্ডার আমলকিনের উত্তরের মতো, তবে নির্দিষ্ট নামের দরকার নেই। এটি আমার প্রথম অ্যাজক স্ক্রিপ্টও তাই এটি প্রচলিত হতে পারে।