কোনও ফাইলের নামের জন্য এসভিএন সংগ্রহস্থলে অনুসন্ধান করুন


84

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

Root folder
    a\
    b\
    c\
    d\
    e\
    f\ab\
    f\ab\cd.txt

আমি সিডি টেক্সট অনুসন্ধান করতে চাই তবে এসভিএন সংগ্রহস্থলটিতে এটি কোথায় আছে তা জানি না, তার জন্য আমি এসভিএন এর মূল ফোল্ডারে একটি অনুসন্ধান সম্পাদন করতে চাই যেখানে আমি সিডি.টিএসটি ফাইলের নাম লিখব এবং কমান্ডটি চালাব, চেক ইন করব প্রতিটি ফোল্ডার এবং ফাইল বিবরণ ফলাফল প্রদর্শন করবে ....

আশার প্রয়োজনীয়তা স্পষ্ট। আপনি কি আমাকে এই সাহায্য করতে পারেন?


আমি আশা করছিলাম যে আপনি প্রবেশ করতে পারেন এমন কোনও ক্লায়েন্ট সাইড কমান্ড রয়েছে যা সার্ভার সাইডটি সন্ধান করতে পারে। আমি যে এসভিএন রেপো নিয়ে কাজ করছি তার ভিপিএন-এর চেয়ে মারাত্মক প্রতিক্রিয়ার সময় এবং স্থানান্তর হার রয়েছে। হায়, এটি সম্ভব বলে মনে হচ্ছে না।
প্যাট্রিক এম

উত্তর:


60

যদি ফাইলটি আপনার কার্যকরী অনুলিপিতে থাকে তবে আপনি যদি এসএনএন 1.5 ব্যবহার করেন:

svn list --depth infinity | grep <filename>

বা এসএনএন এর পূর্ববর্তী সংস্করণ:

find . -name <filename> -not -path '*.svn*'

আপনার যদি ইতিহাসে ফাইলটি সন্ধান করতে হয় (মুছে ফেলা বা সরানো):

svn log -v | less

এবং এটির সাথে অনুসন্ধান করুন:

\<filename><return>

4
এসএনএন তালিকা - ডিপথ ইনফিনিটি ভালভাবে কাজ করে, অবশ্যই উইন্ডোগুলিতে আপনি ডিফল্টরূপে গ্রেপ করতে পারবেন না, আমি কেবল এটি একটি টেক্সট ফাইলে ফেলে দিয়েছি এবং এটির মাধ্যমে একটি টেক্সট সম্পাদকের সাহায্যে অনুসন্ধান করেছি:
ম্যান্ড্রেকে

4
উইন্ডোজ পাওয়ারশেলে আপনি এর ... | select-string <filename>প্রতিস্থাপন হিসাবে ব্যবহার করতে পারেন grep
মার্নিক্স ক্লাস্টার রিইনস্টেটমোনিকা

4
একটি নিয়মিত উইন্ডোতে কমান্ড লাইনটি ... | find "<filename>"গ্রেপের প্রতিস্থাপন হিসাবেও কাজ করবে। উল্লেখ্য : "ফাইলের নাম প্রায় প্রয়োজন হয়।
Raystorm

7
যদি ফাইলটি আমার কার্যকরী অনুলিপিটিতে থাকে তবে এটি সন্ধানের জন্য আমার এসএনএন লাগবে না। অ্যান্টোন এবং মারিওসের উত্তরগুলির মতো রেপো কীভাবে অনুসন্ধান করবেন তা আপনার যুক্ত করা উচিত। সম্ভবত এটি আপনার কাছে সুস্পষ্ট তবে এটি তাদের উত্তরগুলি ছিল যা আমার পুরানো আমার জন্য লিগট চালু করে।
লিভেন কের্মসেকারস

4
আপনি svn co --depth empty REPOURL RepoDir, cd RepoDirএবং svn list --depth infinityএবং তারপর SVN সার্ভার থেকে সব ফাইল পাথ (সম্ভবত লাইন লক্ষ লক্ষ উত্পাদক যদি লক্ষ লক্ষ আছে) পেতে।
ইভান আচেচেরোভ

58

নিম্নলিখিতটি আমার জন্য কাজ করে (এসএনএন সংস্করণ ১.৪..6)

svn list -R <URL> | grep "<file_pattern>"

6
দুর্দান্ত এটি কচ্ছপের পক্ষে কাজ করে। উইন্ডোজগুলিতে: এসএনএন তালিকা -আর মাইরুল >> ফলাফল.txt
লাইভ-লাভ

সত্যিই ভাল কাজ করে। "- ডিপথ অনন্ত" এর চেয়ে বেশি "-আর" মনে রাখা আরও সহজ easier
এমপিভি

বৃহত ভাণ্ডারের জন্য ধীর, তারপরে নীচে নীচে এসএনএন-ক্রলার ব্যবহার করুন।
karsten

17

রেপোতে অ্যাক্সেসের সাথে নিজেই ব্যবহার করুন (যেমন আপনার এসএনএন হোস্ট ফাইল সিমেটে)

svnlook tree [path_to_repo] | grep [file_name]  

বা সমস্ত দোকানে অনুসন্ধান করতে (আপনার যদি বহুবিধ রেপো সেটআপ থাকে)।

for i in \`ls [path_to_repos_dir]`; do echo $i; svnlook tree [path_to_repos_dir]/$i | grep -i [file_or_folder_name]; done 

বিকল্প - পুরো-পাথগুলি ফাইলে রেপোতে পুরো পাথ দেবে (যদি পাওয়া যায়)

উদাহরণ:

for i in `ls /u01/svn-1.6.17/repos`; do echo $i; svnlook tree --full-paths /u01/svn- 1.6.17/repos/$i | grep -i somefile.txt; done

স্থির অনুলিপি প্রয়োজন হলে একটি ফাইলে আউটপুট পুনর্নির্দেশ করুন।
ধরে নিক্স ওএস ব্যবহার করে।


4
"এসভিএনলুক ট্রি - পুরো-পথ <path_to_repo> | গ্রেপ <ফাইল ফাইল>" ব্যবহারের জন্য +1। একটি সাবভার্শন রেপোতে ফাইল অনুসন্ধান করার এটি আমি সবচেয়ে দ্রুতগতিতে পেয়েছি।
নিক গ্রেলে

বজ্রপাত দ্রুত অনুসন্ধান, খুব দরকারী।
ডাস্টিন কুক

12

svn list --depth infinity <your-repo-here>রেপোতে ফাইলগুলির একটি তালিকা পেতে এবং তারপরে svn catসামগ্রীগুলি পেতে। পার্সিংকে কিছুটা সহজ করার জন্য --xmlআপনি listকমান্ডে কী যুক্ত করতে পারেন ।


grepআপনি যদি 1 টি ফাইল দেখতে চান তবে ব্যবহার করতে ভুলবেন না, বিশেষত আপনার যদি ওপির মতো সংগ্রহস্থলে হাজার হাজার ফাইল থাকে। এছাড়াও, --incrementalযদি আপনার পরে / পূর্ববর্তী এক্সএমএল আউটপুটটির সাথে আউটপুটটিতে যোগ দিতে হয় তবে একটি মোড রয়েছে।
ট্রিপসিস

6

সংগ্রহস্থল তালিকার জন্য সম্প্রতি আমি আমার ইউটিলিটি প্রকাশ করেছি , এটি "এসএনএন এলএস - ডিপথ অনন্ত" পদ্ধতির চেয়ে অনেক দ্রুত faster এই এখানে মানদণ্ড । এটি কেবল একটি ফাংশনকে কল করে যা সাবভার্সিয়ন অভ্যন্তরীণ এপিআইতে উপলভ্য তবে এখন একটি কমান্ড লাইনের মাধ্যমে অ্যাক্সেসযোগ্য।

সুতরাং আপনি চালাতে পারেন

$ svn-crawler <URL> | grep "<file_pattern>"

দুর্দান্ত সরঞ্জাম আমি CentOS7 দিয়ে পরীক্ষা করেছি। আমি সিএমকেলিস্ট.টেক্সট-এর টার্গেট_লিঙ্ক_লাইব্রিজি তালিকায় libsvn_delta এবং libsvn_subr যুক্ত করতে হয়েছিল, এছাড়াও "অন্তর্ভুক্ত / এপ্রি -১.০" থেকে "অন্তর্ভুক্ত / এপ্রি -১" "তে LIBAPR_LIBRARY_INCLUDE অভিযোজিত করতে হবে।
karsten

4

আপনি যদি কচ্ছপ এসভিএন ব্যবহার করে থাকেন তবে আপনি যদি এই প্রকল্পটি দ্বারা প্রকল্পটি দেখতে ইচ্ছুক হন তবে আপনি চেষ্টা করতে পারেন - আমার জন্য কাজ করে:

  1. আপনার সংগ্রহস্থল শীর্ষ স্তরের URL এর অধীনে একটি ফাঁকা প্রকল্প তৈরি করুন, এটিকে BLANK বলুন
  2. বাম ফলকের রেপো URL- এ ক্লিক করুন
  3. ডানদিকে ফলকটি আপনার ব্ল্যাক প্রকল্প এবং আপনার পছন্দসই প্রকল্পটি নির্বাচন করুন - ট্রাঙ্কটি বলুন
  4. ব্রাউজার মেনুতে পপআপ করতে ডান ক্লিক করুন এবং আপনার রেপোর আকারের উপর নির্ভর করে 'URL এর তুলনা করুন' নির্বাচন করুন এটি লোড হতে এক মিনিট সময় নিতে পারে। তবে আপনি মূলত আপনার সম্পূর্ণ প্রকল্পের তালিকা 'অনুসন্ধানে প্রস্তুত' তালিকায় পাবেন।
  5. অনুসন্ধান ফিল্টারে আপনার ফাইলের নাম বা অন্যান্য স্ট্রিং লিখুন

0

ভিজ্যুয়ালএসভিএন সার্ভার ৪.২ ওয়েব ইন্টারফেসে নাম অনুসারে ফাইলগুলি সন্ধান করে। ডেমো সার্ভারে নতুন বৈশিষ্ট্যটি ব্যবহার করে দেখুন ।

আপনি ভিজ্যুয়ালএসভিএন সার্ভারটি ডাউনলোড করতে পারেন 2.২.০ https://www.visualvn.com/server/download/pre-release/ এ । প্রকাশের নোটগুলি https://www.visualvn.com/server/download/ এ দেখুন ।

এখানে চিত্র বর্ণনা লিখুন


-2

যদি আপনার দূরবর্তী সংগ্রহস্থল বিশাল না হয় তবে একটি সহজ পদ্ধতি হ'ল স্থানীয় সংগ্রহস্থলটি পেতে আপনি "চেকআউট" করতে পারেন। আপনি উইন্ডোজ মেশিনে থাকলে আপনি "অনুসন্ধান" বা লিনাক্স মেশিনটি "সন্ধান করুন" কমান্ড ব্যবহার করেন।

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