কে কীভাবে একটি এসভিএন সংগ্রহস্থল থেকে একটি ফাইল থেকে একটি লাইন মুছে ফেলে?


12

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

এটি করার একটি দুর্দান্ত উপায় আছে?

উত্তর:


5

এটি আপনার স্বয়ংক্রিয়ভাবে যা প্রয়োজন তা তা করে, যদিও খুব দ্রুত নয় কারণ এটি উপরে প্রস্তাবিত বাইনারি অনুসন্ধান ব্যবহার করে না:

svn log FILE | egrep '^r[0-9]' | sed -e 's/ .*//' | while read rev; do echo $rev ; svn cat FILE -"$rev" | grep "case STRING" && break  ; done 

5

আমি ফাইলটির ইতিহাস যাচাই করে চেষ্টা করব এবং দ্রুত সেই লাইনটি উপস্থিত রয়েছে এমন একটি সংশোধন খুঁজে বের করতে এবং তারপরে শিরোনাম এবং সেই সংশোধনের মধ্যে দোষ দেব।

ফাইলটি যদি শুরু থেকে 100 টি রিভিশন দিয়ে চলেছে তবে আপনি যদি সেই লাইনের সন্ধানী সংশোধনীগুলির মাধ্যমে বাইনারি অনুসন্ধান করেন তবে আপনাকে 10 টিরও বেশি আলাদা সংশোধনীর দিকে নজর দিতে হবে না।


আমি মতামতটি দেখতে পাচ্ছি না,
এগুলি

1
এটি আমার পদ্ধতির মতোই। আমি 10 টি সংশোধনীর চেয়ে চেয়ে সহজ / দ্রুত কিছু চাই।
ইভান পেট্রেশেভ

... এটি 10 ​​রিভিশন। আপনি উপরের প্রশ্নটি পোস্ট করার সময় আপনি এখনই সম্পন্ন করতে পারবেন। যদি না এটি না হয় তবে আপনাকে আবারও করতে হবে, সেক্ষেত্রে আমার মন্তব্যগুলিকে উপেক্ষা করুন।
ta.speot.is

2
হ্যাঁ, এটি একক শটের জন্য দুর্দান্ত, তবে আমার এমন কিছু দরকার যা নিয়মিতভাবে প্রায়শই ব্যবহার করা যায়।
ইভান পেট্রেশেভ

3

svn log --diffশূন্য কলামে "-" দিয়ে মুছে ফেলা সনাক্ত করবে। "আর" এর জন্য গ্রেপ করুন যাতে আপনি সংশোধনটি দেখতে পারেন।

% svn log --diff src/fozbo.cpp -r22222:HEAD | grep -e '^r' -e '^-.*xyzzy'
r22222 | jruser | 2016-07-19 20:16:07 -0400 (Tue, 19 Jul 2016) | 1 line
-   else if ( password== "xyzzy") {

এছাড়াও আছে svn log --searchকিন্তু এটি কেবল প্রতিশ্রুতি বার্তাটি অনুসন্ধান করবে।

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