अनुक्रमणिका .svn मेटाडेटा से Windows 7 को स्वचालित रूप से अक्षम करें


26

SVN रिपॉजिटरी और विंडोज़ इंडेक्सिंग सर्विस के साथ .svn मेटाडेटा फ़ाइलों पर लड़ने के लिए एक ज्ञात समस्या है। यहाँ अधिक जानकारी के लिए।

हम इसे कैसे सेट कर सकते हैं ताकि खिड़कियों (विस्टा / Win7) द्वारा अनुक्रमित तोड़फोड़ करने वाली रिपॉजिटरी होने पर स्वचालित रूप से कोई समस्या न हो। (हम रेपो डायरेक्टरी को जोड़ने के लिए हर बार कुछ करना नहीं चाहते।)

एक विचार यह है कि विंडोज को स्वचालित रूप से ".svn" नाम के फ़ोल्डरों को इंडेक्स न करने के लिए सेटअप किया जाए, हालांकि मुझे ऐसा करने का तरीका नहीं मिल रहा है।

मुझे पता है कि आप कुछ एक्सटेंशन को निष्क्रिय कर सकते हैं, लेकिन यह काम नहीं करता है क्योंकि svn मेटाडेटा फाइलें एक फ़ोल्डर में हैं।

ध्यान दें


SVN रिपॉजिटरी में .svn फाइलें नहीं होती हैं, SVN वर्किंग कॉपी होती हैं। यह शायद कॉपी मुद्दों पर काम करने के बारे में है
सैंडर रिजकेन डिक

जवाबों:


11

मैं एक ही समस्या थी और एक समाधान पाया। मेरा सभी कोड एक एकल फ़ोल्डर में संग्रहीत है:

एफ: \ परियोजनाओं \

उस फोल्डर के अंतर्गत कोड और संबंधित प्रोजेक्ट फाइलों के पेड़ हैं जो कुल 2GB से अधिक हैं। मुझे लगातार इस पेड़ और खिड़कियों को खोजने की आवश्यकता है इंडेक्सिंग वास्तव में तेजी से खोज करने के लिए एक अत्यंत उपयोगी उपकरण है, इसलिए इसे बंद करना एक विकल्प नहीं था। मैं SVN फ़ोल्डर्स को बाहर करना चाहता हूं क्योंकि वे मेरे खोज परिणामों को अव्यवस्थित करते हैं, (2) मेरे सिस्टम पर अनावश्यक खींचें, (3) SVN, Win7, और MS सुरक्षा आवश्यकताएँ बड़े SVN ऑपरेशन करते समय अच्छी तरह से काम नहीं करती हैं।

समाधान का प्रयास करने से पहले, समस्या को पुन: उत्पन्न करें:

  1. विंडोज एक्सप्लोरर में, अपने अनुक्रमित प्रोजेक्ट रूट (मेरी मशीन पर F: \ Projects \) ​​पर नेविगेट करें।
  2. एक्सप्लोरर विंडो के ऊपरी-दाएं कोने में खोज बार का उपयोग करके, "svn" (w / o उद्धरण) खोजें
  3. आपको एक ट्रिलियन बेकार SVN फाइल्स और फ़ोल्डर्स जैसे ".svn", और "svn-base" को परिणामों में दिखाना चाहिए।

समाधान:

  1. Http://code.msdn.microsoft.com/windowssearch/ पर जाएं
  2. CrawlScopeCommandLine.zip डाउनलोड करें
  3. अपनी मशीन पर कुछ जगह निकालें, और प्रोजेक्ट संकलित करें
  4. व्यवस्थापकीय अधिकारों के साथ एक कंसोल विंडो खोलें (Ctrl + Shift + प्रारंभ मेनू में "कमांड प्रॉम्प्ट" आइटम पर बाएं)।
  5. जहाँ भी आपने उपरोक्त परियोजना को संकलित किया है, उस पर नेविगेट करें।
  6. Csmcmd.exe को / add_rule param (उपयोग / पहले? सिंटैक्स के लिए) के साथ निष्पादित करें।
  7. मेरे मामले में मैंने निम्नलिखित कमांड दर्ज की: csmcmd.exe /add_rule file:///F:\projects\*\.svn\* /USER /EXCLUDE

मैंने पहले कमांड को चलाकर यह पता लगाया: csmcmd.exe /enumerate_rulesसभी मौजूदा को सूचीबद्ध करने के लिए। एस्टरिक्स (*) वाइल्डकार्ड विंडोज द्वारा उपयोग किए जाने के साथ पहले से ही कुछ नियम थे, इसलिए यह सबूत था कि यह संभव था।

अब समस्या को पुन: उत्पन्न करने के लिए चरणों को दोहराएं, और आपको अपने खोज परिणामों में एसवीएन अव्यवस्था नहीं देखनी चाहिए। कंप्यूटर को इंडेक्स अपडेट करने के लिए कुछ समय दें - यह मेरे सिस्टम पर 5 मिनट से कम समय लेता है। कभी-कभी खोज सेवा को फिर से शुरू करना, एक पुनर्निर्माण / रिइंडेक्स को बंद करना, या एक रिबूट चीजों को स्थानांतरित करने में मदद करना।

अपडेट : मेरे कुछ SVN प्रोजेक्ट्स ".svn" का उपयोग करते हैं, और कुछ "_svn" का उपयोग करते हैं, इसलिए मैंने इन दोनों नियमों को हर ड्राइव में जोड़ा है:

csmcmd.exe /add_rule file:///F:\*\.svn\* /DEFAULT /EXCLUDE csmcmd.exe /add_rule file:///F:\*\_svn\* /DEFAULT /EXCLUDE


इस की प्रभावकारिता पर कोई अद्यतन?
जोनाथन डे

मेरे लिये कार्य करता है! अच्छी व्याख्या, Giscard!
क्रिस्टोफर ओजबेक

मैंने अब एक साल के लिए इस विधि का उपयोग किया है और इसने मेरे लिए बहुत ही मुश्किल काम किया है।
गिसकार्ड बीआम्बी

1
लिंक मृत है, लेकिन यह एमएस एसडीके के साथ शामिल एक नमूना ऐप है, साथ ही अलग से उपलब्ध है। स्रोत यहां है: msdn.microsoft.com/en-us/library/windows/desktop/… - यदि Microsoft अभी भी एक बाइनरी होस्ट नहीं करता है तो निश्चित नहीं है। मैंने अपने git repos को बाहर करने के लिए `। \ Csmcmd / add_rule" फ़ाइल: /// c: * \ .git * "/ DEFAULT / EXCLUDE का उपयोग किया।
रयान पावलिक

5

AFAIK, विंडोज 7 पर विंडोज इंडेक्सिंग सेवा केवल डिफ़ॉल्ट के रूप में उपयोगकर्ता फ़ोल्डर के भीतर दिखती है (यदि मैं गलत हूं तो मुझे सही करें)। यदि आपके निजी फ़ोल्डर में आपका SVN रिपॉजिटरी है, तो आप यह कर सकते हैं:

a) अपने SVN रिपॉजिटरी को कहीं और लगाना

b) उन फ़ोल्डरों को इंडेक्स से बाहर करके। यहां आपको एक फ़ोल्डर को बाहर करने का तरीका मिलेगा।


7
मैं अपने रिपॉजिटरी को अनुक्रमित करना चाहता हूं, बस svn मेटा-डेटा फ़ाइलों को नहीं।
जेम्स वान बॉक्सटेल

4

जब भी यह एक .svn निर्देशिका बनाता है, तो इसे "इंडेक्स न करें" झंडे को सेट करने के लिए स्पष्ट रूप से सबवर्सन को बदलना ठीक होगा। समस्या यह है कि जब यह पेश किया जाएगा तो इस सुविधा की आवश्यकता नहीं होगी।

ज्ञात समस्या वर्तमान में विकसित किए जा रहे सबवर्सन संस्करणों में सबसे अधिक दूर जाएगी (संस्करण 1.7)। .Svn निर्देशिका के अंदर बहुत कम फ़ाइल संचालन होंगे, और काम की प्रति प्रति सिर्फ 1 .svn निर्देशिका भी होगी।

इससे यह संभावना कम हो जाती है कि समस्या उत्पन्न हो जाएगी, और यह अनुक्रमण को अक्षम करने के लिए बहुत आसान बनाता है, क्योंकि केवल एक .svn फ़ोल्डर है।


2

जानवर बल विधि

  1. सभी .svn निर्देशिका के लिए एक खोज करते हैं
  2. सभी का चयन करें (ctrl + a)
  3. सही माउस क्लिक गुण
  4. "अग्रिम ..." पर क्लिक करें
  5. "इस फ़ोल्डर को तेज़ी से खोजने के लिए अनुक्रमणिका अनचेक करें"
  6. परिवर्तन लागू करें

WDS समूह नीति के लिए एक विकल्प है Prevent Indexing Certain Paths, लेकिन यह फीचर चार्ट के अनुसार विंडोज विस्टा के लिए उपलब्ध नहीं है।

पर समर्थित: Windows XP, Windows Server 2003 के साथ Windows खोज 3.01, या Microsoft Windows के किसी भी संस्करण के साथ Windows 4.0 या बाद का संस्करण।


1
मुझे इस वर्कअराउंड की जानकारी थी, हालांकि यह स्वचालित नहीं है। लक्ष्य के लिए नए फ़ोल्डर हैं जो स्वचालित रूप से बनाए गए हैं यह व्यवहार है।
जेम्स वान बॉक्सटेल

1

अगर डेरेन हॉल का जवाब "ब्रूट फोर्स" दृष्टिकोण है, तो मेरा जवाब "ब्रूट फोर्स और इग्नोरेंस" दृष्टिकोण होना चाहिए। :)

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

यह एक विंडोज़ बैच फ़ाइल में मेरा (बल्कि बदसूरत) समाधान है:

 ATTRIB /S /D -H ".svn"

 ATTRIB /S /D +I ".svn"
 ATTRIB /S /D +I "all-wcprops"
 ATTRIB /S /D +I "entries"
 ATTRIB /S /D +I "tmp"
 ATTRIB /S /D +I "props"
 ATTRIB /S /D +I "text-base"
 ATTRIB /S /D +I "prop-base"
 ATTRIB /S /D +I "*.svn-base"

 ATTRIB /S /D +H ".svn"

पहली और आखिरी पंक्तियाँ हैं क्योंकि ATTRIB एक छिपे हुए फ़ोल्डर में + मैं स्विच करने से इनकार करता है, कम से कम मेरे लिए यह किया। आपको इसे "svnNoIndex.bat" जैसी फ़ाइल में कॉपी करना होगा और इसे अपने SVN चेकआउट डायरेक्टरी में चलाना होगा, एक बड़े रिपॉजिटरी के साथ इसमें कुछ समय लग सकता है ...

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

इसे "स्वचालित" बनाने के लिए आप बैच फ़ाइल को पोस्ट-अपडेट हुक के रूप में जोड़ सकते हैं जो अपडेट के बाद चलता है ... दी गई यह गड़बड़ है, लेकिन यह काम कर सकता है।


1

आप अनिवार्य रूप से Windows खोज को रजिस्ट्री को ट्वीक करके .svn फ़ोल्डरों को अनदेखा कर सकते हैं।

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\DefaultRules\11]
"URL"="file:///*\\.svn\\*"
"Include"=dword:00000000
"Suppress"=dword:00000000
"Default"=dword:00000001
"Policy"=dword:00000000

URL आपके फ़ाइल सिस्टम पर कहीं भी ".svn" नाम के फ़ोल्डर से मेल खाता है। (डिफ़ॉल्ट नियमों के बाद की संख्या अद्वितीय होनी चाहिए - (यदि आपके पास पहले से ही डिफ़ॉल्ट नियम 11 है, तो दूसरी संख्या चुनें)।


मैंने देखा कि DefaultRules में एक ItemCount डॉर्ड है। यह सुनिश्चित नहीं है कि यह आवश्यक है, लेकिन मैंने अतिरिक्त मूल्य के लिए इस मूल्य को बढ़ा दिया है।
गप्पल २ g
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.