2008-09-25 9 views
60

अवसर पर, मैं खुद को पर्सफोर्स में परिवर्तनीय विवरणों के पाठ को खोजना चाहता हूं। पी 4 वी में ऐसा करने का कोई तरीका नहीं दिखता है। मैं एक फ़ाइल में परिवर्तन आदेश के उत्पादन में पुनः निर्देशित द्वारा यह कर सकते हैं ...पर्सफोर्स में चेंजलिस्ट विवरणों के पाठ को आप कैसे खोजते हैं?

p4 changes -l > p4changes.txt 

... (-l स्विच यह बताता परिवर्तन सूची विवरण का पूरा पाठ डंप करने के लिए) और फिर फ़ाइल खोज , लेकिन यह बल्कि बोझिल है। क्या किसी को बेहतर तरीका मिला है?

+0

असली समाधान पी 4 डी के लिए परिवर्तनीय वर्णन (और स्रोत फाइलें स्वयं ....) पर एक पूर्ण पाठ अनुक्रमणिका होने के लिए होगा, अजीब तरह से जिसने इसे अभी तक उत्पाद में नहीं बनाया है। – Jonesome

उत्तर

55

जब सबमिट किए गए चेंजलिस्ट फैन पर ध्यान केंद्रित किया जाता है, तो CTRL + F आपको मनमाने ढंग से टेक्स्ट खोज करने देता है, जिसमें परिवर्तनीय विवरण शामिल होते हैं।

एकमात्र सीमा यह है कि यह केवल उन परिवर्तकों को खोजता है जो सर्वर से प्राप्त किए गए हैं, इसलिए आपको पुनर्प्राप्त संख्या को पुनर्प्राप्त करने की आवश्यकता हो सकती है। यह "परिवर्तनकर्ताओं, नौकरियों, शाखा मैपिंग या लेबल को एक समय में लाने के लिए लेबल" सेटिंग के माध्यम से किया जाता है जो सेटिंग-> प्राथमिकताएं-> सर्वर डेटा पर नेविगेट करके पाया जा सकता है।

+0

अच्छा। इसे आजमाया, और यह प्रत्येक मिलान परिवर्तक का चयन करने के लिए कूदता है। वास्तव में आसान – Epu

+0

यह वास्तव में मेरी मदद की। आपका बहुत बहुत धन्यवाद! –

+1

मेरी इच्छा है कि मैं फिर से उभारा सकता हूं। मैं भूल गया और आज यह जवाब फिर से पाया, लेकिन देखा कि मैंने इसे पहले ही उखाड़ फेंक दिया है। – CoderDennis

17

मैं p4sql का उपयोग करता हूं और "परिवर्तन" डेटाबेस पर एक क्वेरी चलाता हूं। यहाँ perforce database schema

क्वेरी इस (untested) तरह दिखता है

select change from changes where description like '%text%' and p4options = 'longdesc' 

संपादित है: विवरण में से अधिक 31 वर्णों वापस जाने के लिए p4options गयी।

+0

यह काम नहीं किया। किसी कारण से, "जैसे" "=" जैसा व्यवहार करता है। मान लें कि विवरण "foo bar" है। जैसे 'foo' विफल रहता है, लेकिन 'foo bar' की तरह सफल होता है। सबसे महत्वपूर्ण बात यह है कि वे उपलब्ध विवरण का पूरा पाठ नहीं बनाते हैं, केवल पहले 30 वर्ण। – raven

+0

@raven -% वर्ण SQL के लिए महत्वपूर्ण हैं, और teh क्वेरी कार्य कर सकते हैं। मुझे यह भी नहीं लगता कि आप विवरण में सही हैं - आपको इसे सब कुछ प्राप्त करने में सक्षम होना चाहिए। क्या आप अपनी क्वेरी पोस्ट कर सकते हैं? –

+0

@ ग्रेग व्हिटफील्ड: आप सही हैं, मैं% वर्णों का उपयोग नहीं कर रहा था। प्रश्न काम कर रहे हैं, लेकिन अधिक उपयोग नहीं। मैंने सत्यापित किया कि यह वर्णन के पहले 31 वर्णों पर केवल पूछताछ कर रहा है और प्रदर्शित कर रहा है। – raven

1

पी 4 एसक्यूएल का उपयोग करना वास्तव में आप जो चाहते हैं उसे प्रभावी ढंग से करने का एकमात्र तरीका है। मुझे किसी अन्य तरीके से अवगत नहीं है। पाठ्यक्रम का लाभ यह है कि आप चेंजलिस्ट मूल्यों (दिनांक, उपयोगकर्ता, आदि के माध्यम से) की सीमा को सीमित करने के लिए चुनिंदा बयानों का उपयोग कर सकते हैं। आपकी विधि काम करेगी लेकिन आप अधिक परिवर्तनीय उत्पन्न करते समय बोझिल हो जाएंगे। आप परिवर्तन कमांड के दायरे को सीमित कर सकते हैं, लेकिन आपको p4sql की लचीलापन नहीं मिलेगी।

0

आप अभी भी अपने कमांड लाइन से प्यार है, तो आप एक छोटे से पर्ल स्क्रिप्ट लिख सकते हैं:

  • में परिवर्तन रिकॉर्ड विभाजक $/ डबल न्यू लाइन करने के लिए "\ n \ n" तो यह फिल्टर में इनपुट ztagged पी 4 आउटपुट के पूर्ण रिकॉर्ड।
  • स्कैन तर्कों से नियमित अभिव्यक्तियों के साथ '/^... desc /..//' भाग स्कैन करता है।

उपयोग कुछ ऐसा होगा जैसे 'p4 -ztag परिवर्तन -l | yourperlfilter.pl searchterm1 searchterm2 '

यदि यह ठीक काम करता है, तो आप integrate it into the p4win tools menu कर सकते हैं।

1

पर एडी खेल http://www.eddiescholtz.com/blog/archives/130

में अपने लाज़िमी परिवर्तनसूची खोजें 0.1 तैनात लेकिन, मुझे साधारण के साथ मेरी पसंदीदा पाठ संपादक का उपयोग की तरह कार्य करें: p4 परिवर्तन प्रस्तुत -s // prog/सामान/मुख्य/... > temp.txt

+0

संस्करण 0.2 भी है। कोड को Google कोड पर होस्ट किया गया है: http://code.google.com/p/p4search/ – idbrii

17

p4 changes -L | grep -B 3 searchstring

-B 3 साधन का मिलान नहीं हुआ स्ट्रिंग से पहले 3 लाइनों दिखाने के लिए, 2 लाइन टिप्पणी के साथ परिवर्तन आईडी दिखाने के लिए पर्याप्त होना चाहिए लेकिन आप इसे के रूप में आवश्यक बदल सकते हैं।

6

पॉल के "grep" उत्तर का पावरहेल संस्करण यहां दिया गया है। आप पाइप less के माध्यम से उत्पादन और less उपयोग कर सकते हैं जब '

p4 changes -L | select-string "search string" -Context (3,0) 
3

क्यों एक फ़ाइल को अनुप्रेषित: फिर, यह परिवर्तन वर्णन के भीतर निर्दिष्ट स्ट्रिंग के लिए खोज करता है और यह पहले 3 लाइनों देता है, परिवर्तन आईडी शामिल करने के लिए की खोज?

p4 changes -l | less 

और फिर / एक खोज स्ट्रिंग के लिए संकेत करने के लिए दबाएँ। इसके बाद, एन अगले मैच में कूद जाएगा, और शिफ्ट + एन पिछले एक पर कूद जाएगा।

विंडोज के लिए less का कार्यान्वयन UnxUtils के हिस्से के रूप में उपलब्ध है।

+0

यह शायद सबसे अधिक उपयोगकर्ता के अनुकूल विकल्प है, बशर्ते आपके पास पहले से कम हो। मैंने इसे पहले ही msys2 के साथ स्थापित किया था, इसलिए इसे खींचना आसान था। – leetNightshade

संबंधित मुद्दे