SVN रिपॉजिटरी खोज [बंद]


155

क्या कोई अच्छा सॉफ़्टवेयर है जो मुझे कोड स्निपेट के लिए मेरे एसवीएन रिपॉजिटरी के माध्यम से खोजने की अनुमति देगा? मुझे 'FishEye' मिला, लेकिन लागत 1,200 और मेरे बजट से बाहर है।


6
क्या आपको रेपो के इतिहास के माध्यम से खोज करने की आवश्यकता है? या सिर्फ सिर?
स्वाइलियट्स

4
FishEye का एक निःशुल्क संस्करण है - www.atlassian.com/starter
David d C e Freitas

1
@DavidFreitas अब कोई मुफ्त विकल्प नहीं है
bahrep

FishEye का $ 10 संस्करण है: www.atlassian.com/software/starter/overview , @bahrep। एक बार बंद हो जाने पर, सभी दान के लिए आगे बढ़ते हैं।
डेविड डी सी ई फ्रीटास

1
नया svn log --searchविकल्प है, सरल रिपॉजिटरी हिस्ट्री सर्च करने वाले किसी व्यक्ति के लिए उपयोगी हो सकता है।
भैरप

जवाबों:


69

यदि आप केवल फ़ाइल नाम के लिए खोज कर रहे हैं, तो उपयोग करें:

svn list -R file:///subversion/repository | grep filename

खिड़कियाँ:

svn list -R file:///subversion/repository | findstr filename

अन्यथा चेकआउट करें और फाइलसिस्टम खोज करें:

egrep -r _code_ .

3
यह पूरी तरह से स्पष्ट नहीं हो सकता है, लेकिन ये आदेश एक svn सर्वर तक पहुंचने के किसी भी तरीके पर लागू होते हैं, न कि केवल फ़ाइल: (जैसे svn: और svn + ssh: भी काम करते हैं)
एलेक्स मार्शल

2
//, क्या आप उनमें से प्रत्येक के लिए एक काम करने का उदाहरण प्रदान करेंगे?
नाथन बसानी

1
ओपी फाइल के माध्यम से खोज करना चाहता था, न कि केवल फ़ाइल नाम। फाइलसिस्टम खोज उदाहरण बहुत उपयोगी नहीं है।
erict

37

नहीं है sourceforge.net/projects/svn-search

SVN होम से सीधे एक विंडोज़ एप्लिकेशन भी है जिसे SvnQuery कहा जाता है जो http://svnquery.tigris.org पर उपलब्ध है


1
मैंने अभी इसे खुद डाउनलोड किया है - संस्करण 1.2.2.0 वर्तमान में उपलब्ध है। (यानी बीटा से बाहर)
ब्रेट रिग्बी

SVN खोज के लिए नया स्रोत फोर्ज URL: svn-search.sourceforge.net
रॉबर्ट ब्रिसिटा

12

अद्यतन जनवरी, 2020

VisualSVN सर्वर 4.2 वेब इंटरफ़ेस में फ़ाइलों और फ़ोल्डरों को खोजने का समर्थन करता है। डेमो सर्वर के रिपॉजिटरी में से एक पर नई सुविधा का प्रयास करें !

संस्करण ४.२ रिलीज़ नोट्स देखें , और VisualSVN सर्वर ४.२.० को मुख्य डाउनलोड पृष्ठ से डाउनलोड करें

यहां छवि विवरण दर्ज करें


पुराना उत्तर

तोड़फोड़ 1.8 के--searchsvn log साथ शुरू , आप कमांड के साथ विकल्प का उपयोग कर सकते हैं । ध्यान दें कि कमांड रिपॉजिटरी के अंदर पूर्ण-पाठ खोज नहीं करता है, यह केवल निम्नलिखित डेटा पर विचार करता है:

  • संशोधन के लेखक (बिना svn:authorसंपत्ति के),
  • दिनांक (बिना svn:dateसंपत्तियां),
  • लॉग संदेश पाठ ( svn:logअसम्बद्ध संपत्ति),
  • बदले हुए रास्तों की सूची (अर्थात विशेष संशोधन से प्रभावित पथ)।

इन नए खोज विकल्पों के बारे में सहायता पृष्ठ यहां है:

 If the --search option is used, log messages are displayed only if the
 provided search pattern matches any of the author, date, log message
 text (unless --quiet is used), or, if the --verbose option is also
 provided, a changed path.
 The search pattern may include "glob syntax" wildcards:
     ?      matches any single character
     *      matches a sequence of arbitrary characters
     [abc]  matches any of the characters listed inside the brackets
 If multiple --search options are provided, a log message is shown if
 it matches any of the provided search patterns. If the --search-and
 option is used, that option's argument is combined with the pattern
 from the previous --search or --search-and option, and a log message
 is shown only if it matches the combined search pattern.
 If --limit is used in combination with --search, --limit restricts the
 number of log messages searched, rather than restricting the output
 to a particular number of matching log messages.

1
यह विधि तेजी से काम करती है, लेकिन इसका उपयोग फ़ाइलों की उपस्थिति के लिए खोज करने के लिए नहीं किया जाना चाहिए। जैसा कि यह खोज विकल्प केवल प्रत्येक संशोधन में स्पष्ट रूप से परिवर्तित पथों की सूची को पार्स करता है, आप फ़ोल्डर प्रतियां (ट्रंक से बनाई गई नई शाखा) बना सकते हैं जहां एक निश्चित फ़ाइल मौजूद है, लेकिन यह इस पद्धति द्वारा सूचीबद्ध नहीं होगी।
पीटर-जान बुश्चारर्ट

@ Pieter-JanBusschaert आपकी टिप्पणी svn लॉग-search कमांड का उपयोग करने के बारे में है। नई webui- आधारित खोज के बारे में अद्यतन उत्तर देखें। इसकी यह सीमा नहीं है।
बहरूपे


9
  1. git-svnउस भंडार का दर्पण बनाएँ ।
  2. गिट के अंदर जोड़े या हटाए गए तारों की खोज करें: git log -S'my line of code'या उसी मेंgitk

लाभ यह है कि आप सर्वर और नेटवर्क कनेक्शन को लोड किए बिना, स्थानीय रूप से कई खोज कर सकते हैं।


8

यह उदाहरण एक फ़ाइल में रिपॉजिटरी की पूरी सामग्री को पाइप करता है, जिसे आप एक संपादक के भीतर फ़ाइल नाम के लिए जल्दी से खोज सकते हैं:

svn list -R svn://svn > filelist.txt

यह उपयोगी है यदि रिपॉजिटरी अपेक्षाकृत स्थिर है और आप एसवीएन सर्वर से बार-बार सब कुछ लोड किए बिना तेजी से खोज करना चाहते हैं।


4
मुझे ध्यान देना चाहिए कि मेरे मामले में, httpप्रोटोकॉल ( svn list -R http://repo/svn/etc) के रूप में उपयोग करना आवश्यक था ।
चार्ल्स वुड

डाउनवोट किया गया, क्योंकि ओपी फाइलों के माध्यम से खोजना चाहता था, न कि फाइलनामों के माध्यम से। Svn सूची कमांड केवल रिपॉजिटरी के फाइलनाम को डंप करता है।
erict

4

मुझे TRAC पसंद है - यह प्लगइन आपके काम के लिए मददगार हो सकता है: http://trac-hacks.org/wiki/RepoSearchPlugin


यह कुछ आशाजनक लगता है ... लेकिन बहुत आसान नहीं है स्थापित करने के लिए, यह पुष्टि नहीं कर सकता है कि यह Trac + VisualSVN सर्वर के साथ काम करता है।
किट Roed

4

बस एक ध्यान दें, FishEye (और कई अन्य एटलसियन उत्पादों) में $ 10 स्टार्टर एडिशन हैं, जो FishEye के मामले में आपको 5 रिपॉजिटरी और 10 कमिटर्स तक पहुंच प्रदान करता है। इस मामले में पैसा चैरिटी में जाता है।

www.atlassian.com/starter


अब और नहीं? मुझे पेज पर मुफ्त विकल्प नहीं दिख रहे हैं।
बह्रप

@bahrep, मैंने जवाब अपडेट किया है, यह अब $ 10 है जो चैरिटी में जाता है जो प्रभावी रूप से "मुक्त" है यदि आप इसके बारे में सोचते हैं।
डेविड डी सी ई फ्रीटास

3

यदि आप सिंगल फाइल या छोटे रिपोजिटरी के इतिहास को खोज रहे हैं तो धीरे-धीरे धीमी गति से (और बुरी तरह से लागू) लेकिन svn लॉग और svn कैट का एक संयोजन काम करता है:

svn log filetosearch |
    grep '^r' |
    cut -f1 -d' ' |
    xargs -i bash -c "echo '{}'; svn cat filetosearch -'{}'" 

जहां फ़ाइल बदली गई और फ़ाइल में प्रत्येक संशोधन संख्या आउटपुट होगी। आप हमेशा प्रत्येक संशोधन को एक अलग फ़ाइल में बदल सकते हैं और फिर परिवर्तनों के लिए grep कर सकते हैं।

पुनश्च। बड़े पैमाने पर किसी को भी, जो मुझे दिखाता है कि यह कैसे ठीक से करना है!


3
बस उपयोग करें git-svn। Git ने प्रतिबद्ध इतिहास में कोड की खोज की है। लेकिन आपको उपयोग करने के लिए पूरे प्रतिबद्ध इतिहास को डाउनलोड करना होगा git-svn
वि।

2

यदि आप वास्तव में हताश हैं, तो रेपो का एक डंप करें ("svnadmin डंप" देखें) और फिर इसके माध्यम से पकड़ें। यह सुंदर नहीं है, लेकिन आप मेटाडेटा को खोजने के लिए खोज परिणामों के आसपास देख सकते हैं जो फ़ाइल और संशोधन को इंगित करता है, फिर इसे बेहतर नज़र के लिए देखें।

यह सुनिश्चित करने के लिए एक अच्छा समाधान नहीं है, लेकिन यह मुफ़्त है: SVN पिछले चेकइन (या यहां तक ​​कि पिछले लॉग फ़ाइलों, AFAIK) को खोजने के लिए कोई सुविधा प्रदान नहीं करता है।


1

एसवीएन रिपॉज के बहुत सारे "बस" HTTP साइट हैं, इसलिए आप शेल्फ "वेब क्रॉलिंग" खोज ऐप से कुछ को देखने पर विचार कर सकते हैं जिसे आप एसवीएन रूट पर इंगित कर सकते हैं और यह आपको मूल कार्यक्षमता देगा। यह अद्यतन करना शायद थोड़ा मुश्किल होगा, शायद हैकरी में कुछ एसवीएन जाँच आपको छोड़ने के लिए इंडेक्स को बदलने या बदलने के लिए सूचकांक में गुदगुदी कर सकती है।

बस जोर से सोच रहा था।


1
यह शायद एक अच्छा विचार नहीं है, क्योंकि इसमें शामिल ओवरहेड बहुत बड़ा होगा। इसके अलावा, SVN- सर्वर आमतौर पर नियमित वेब-पेज नहीं होते हैं, लेकिन एक svn रेपो वेबदव के माध्यम से उजागर होता है।
torkildr

1

krugle और koders theres लेकिन दोनों महंगे हैं। दोनों में ग्रहण के लिए ide प्लगइन्स हैं।


2
क्रूगल बेसिक के बारे में क्या?
Bård

1

मैंने इस टूल का उपयोग करना शुरू कर दिया

http://www.supose.org/wiki/supose

यह ठीक काम करता है बस एक दृश्य UI की कमी है, लेकिन तेज और कुछ हद तक बनाए रखा है


1
आजकल (अगस्त 2012) परियोजना रुक गई लगती है ...
aol

दिसंबर 2012 में उन्होंने कुछ नया (0.7.1) जारी किया
sendmoreinfo

2
लगता है गायब हो गया है
fbstj

0

// संपादित करें: उपकरण पहले से ही एक और जवाब में उल्लेख किया गया था, इसलिए सभी क्रेडिट को क्रुयाकी को दें।

बस पाया गया SupoSE जो एक जावा आधारित कमांड लाइन टूल है जो एक इंडेक्स बनाने के लिए एक रिपॉजिटरी को स्कैन करता है और बाद में कुछ प्रकार के प्रश्नों का उत्तर देने में सक्षम होता है। हम अभी भी उपकरण का मूल्यांकन कर रहे हैं, लेकिन यह आशाजनक लगता है। यह उल्लेख के लायक है कि यह स्रोत कोड फ़ाइलों और सामान्य कार्यालय स्वरूपों सहित सभी संशोधनों का एक पूर्ण सूचकांक बनाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.