ปิดใช้งาน Windows 7 โดยอัตโนมัติจากการทำดัชนีข้อมูลเมตา. svn


26

มีปัญหาที่ทราบเกี่ยวกับที่เก็บ SVN และบริการการทำดัชนี windows ต่อสู้กับไฟล์ข้อมูลเมตา. svn ที่นี่สำหรับรายละเอียดเพิ่มเติม

เราจะตั้งค่าอย่างไรให้มีโดยอัตโนมัติไม่มีปัญหาในการเก็บข้อมูลการโค่นล้มโดย windows (Vista / Win7) (เราไม่ต้องการที่จะทำอะไรด้วยตนเองทุกครั้งที่เราเพิ่มไดเรกทอรี repo)

หนึ่งความคิดคือการตั้งค่า Windows ให้ไม่สร้างดัชนีโฟลเดอร์ชื่อ ".svn" โดยอัตโนมัติอย่างไรก็ตามฉันไม่สามารถหาวิธีการทำเช่นนี้ได้

ฉันรู้ว่าคุณสามารถปิดใช้งานส่วนขยายบางอย่างได้ แต่ดูเหมือนจะไม่ทำงานเนื่องจากไฟล์ svn metadata อยู่ในโฟลเดอร์

หมายเหตุ:


ที่เก็บข้อมูล SVN ไม่มีไฟล์. svn ทำสำเนาการทำงาน SVN ได้ มันอาจจะเกี่ยวกับการทำงานประเด็นสำเนา
ซานเดอร์ Rijken

คำตอบ:


11

ฉันมีปัญหาเดียวกันและพบวิธีแก้ปัญหา รหัสทั้งหมดของฉันถูกเก็บไว้ในโฟลเดอร์เดียว:

F: \ โครงการ \

ภายใต้โฟลเดอร์ดังกล่าวจะมีโครงสร้างของรหัสและไฟล์โครงการที่เกี่ยวข้องซึ่งมีขนาดเกิน 2GB ฉันต้องค้นหาต้นไม้และหน้าต่างการจัดทำดัชนีเป็นเครื่องมือที่มีประโยชน์อย่างยิ่งสำหรับการค้นหาที่รวดเร็วดังนั้นการปิดการใช้งานจึงไม่ใช่ตัวเลือก ฉันต้องการยกเว้นโฟลเดอร์ SVN เนื่องจากพวกเขาถ่วงผลลัพธ์การค้นหาของฉัน (2) การลากที่ไม่จำเป็นบนระบบของฉัน (3) SVN, Win7 และ MS Security Essentials ดูเหมือนจะไม่ทำงานได้ดีเมื่อทำการ SVN ขนาดใหญ่

ก่อนที่คุณจะลองวิธีแก้ปัญหาให้สร้างปัญหาขึ้นใหม่:

  1. ใน Windows Explorer ไปที่รูทโปรเจ็กต์ที่ทำดัชนีของคุณ (F: \ projects \ บนเครื่องของฉัน)
  2. ใช้แถบค้นหาที่มุมบนขวาของหน้าต่าง Explorer ค้นหา "svn" (ไม่ต้องใส่เครื่องหมายอัญประกาศ)
  3. คุณควรเห็นไฟล์และโฟลเดอร์ SVN ที่ไร้ประโยชน์เช่น ".svn" และ "svn-base" ปรากฏขึ้นในผลลัพธ์

วิธีการแก้:

  1. เยี่ยมชมhttp://code.msdn.microsoft.com/windowssearch/
  2. ดาวน์โหลด CrawScopeCommandLine.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เพื่อแสดงรายการที่มีอยู่ทั้งหมด มีกฎบางอย่างเกี่ยวกับการใช้ wildcard แทน asterix (*) ดังนั้นจึงเป็นข้อพิสูจน์ได้ว่าเป็นไปได้

ทวนซ้ำขั้นตอนในการทำให้เกิดปัญหาอีกครั้งและคุณไม่ควรเห็นความยุ่งเหยิงของ SVN ในผลการค้นหาของคุณอีกต่อไป ให้คอมพิวเตอร์บางครั้งเพื่อปรับปรุงดัชนี - ใช้เวลาน้อยกว่า 5 นาทีในระบบของฉัน บางครั้งการรีสตาร์ทบริการการค้นหาการปิดการสร้างใหม่ / ทำดัชนีใหม่หรือการรีบูตช่วยย้ายสิ่งต่างๆ

อัปเดต : บางโครงการ SVN ของฉันใช้ ".svn" และบางโครงการใช้ "_svn" ดังนั้นฉันจึงเพิ่มกฎทั้งสองนี้ลงในไดรฟ์ทุกตัว:

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


มีการปรับปรุงประสิทธิภาพของสิ่งนี้หรือไม่?
Jonathan Day

ใช้งานได้สำหรับฉัน! คำอธิบายที่ดี Giscard!
Christopher Oezbek

ฉันใช้วิธีนี้มาหนึ่งปีแล้วและมันก็ไร้ที่ติสำหรับฉัน
Giscard Biamby

1
ลิงก์ใช้งานไม่ได้ แต่เป็นแอปตัวอย่างที่มาพร้อมกับ MS SDK รวมถึงแยกต่างหาก แหล่งที่มาอยู่ที่นี่: msdn.microsoft.com/en-us/library/windows/desktop/ … - ไม่แน่ใจว่า Microsoft ยังคงโฮสต์ไบนารีหรือไม่ ฉันใช้ `. \ csmcmd / add_rule" ไฟล์: /// c: * \ .git * "/ DEFAULT / EXCLUDE` เพื่อยกเว้น repos คอมไพล์ของฉัน
Ryan Pavlik

5

AFAIK บริการการจัดทำดัชนีของ Windows ใน Windows 7 จะดูเฉพาะในโฟลเดอร์ผู้ใช้เป็นค่าเริ่มต้น (แก้ไขฉันหากฉันผิด) หากคุณมีที่เก็บ SVN ของคุณอยู่ในโฟลเดอร์ส่วนตัวคุณสามารถ:

a) วางที่เก็บ SVN ของคุณไว้ที่อื่น

b) โดยการแยกโฟลเดอร์เหล่านั้นออกจากดัชนี ที่นี่คุณจะพบวิธีแยกโฟลเดอร์


7
ฉันต้องการจัดทำดัชนีที่เก็บข้อมูลของฉันไม่ใช่ไฟล์ svn meta-data
James Van Boxtel

4

การแก้ไขที่ชัดเจนคือการเปลี่ยนการโค่นล้มเพื่อตั้งค่าสถานะ "ไม่สร้างดัชนี" นี้เมื่อใดก็ตามที่สร้างไดเรกทอรี. svn ปัญหาคือว่าคุณสมบัตินี้จะไม่จำเป็นอีกต่อไปเมื่อมีการเปิดตัว

ปัญหาที่ทราบแล้วมักจะหายไปในเวอร์ชั่นโค่นล้มที่กำลังได้รับการพัฒนา (เวอร์ชั่น 1.7) จะมีการดำเนินการไฟล์น้อยกว่าภายในไดเรกทอรี. svn และยังมีเพียง 1. svn directory ต่อสำเนาการทำงาน

สิ่งนี้ทำให้มีโอกาสน้อยที่ปัญหาจะเกิดขึ้นและทำให้ปิดการจัดทำดัชนีได้ง่ายขึ้นเนื่องจากมีโฟลเดอร์. svn เพียงโฟลเดอร์เดียว


2

วิธีการเดรัจฉานกำลัง

  1. ค้นหาไดเรกทอรี. svn ทั้งหมด
  2. เลือกทั้งหมด (ctrl + a)
  3. คุณสมบัติคลิกเมาส์ขวา
  4. คลิก "ล่วงหน้า ... "
  5. ยกเลิกการเลือก "สร้างดัชนีโฟลเดอร์นี้เพื่อการค้นหาที่รวดเร็วขึ้น"
  6. ใช้การเปลี่ยนแปลง

นโยบายกลุ่ม WDSมีตัวเลือกสำหรับPrevent Indexing Certain Pathsแต่ไม่มีอยู่ในรายการสำหรับ Windows Vista ตามแผนภูมิคุณลักษณะ

สนับสนุนใน: Windows XP, Windows Server 2003 ที่มี Windows Search 3.01 หรือ Microsoft Windows รุ่นใด ๆ ที่มี Windows Search 4.0 หรือใหม่กว่า


1
ฉันรู้วิธีแก้ปัญหานี้ แต่มันไม่อัตโนมัติ เป้าหมายคือมีโฟลเดอร์ใหม่ที่สร้างขึ้นโดยอัตโนมัติมีพฤติกรรมนี้
James Van Boxtel

1

หากคำตอบของคาร์เรนฮอลล์เป็นวิธีการ "กำลังดุร้าย" คำตอบของฉันจะต้องเป็นแนวทาง "กำลังโง่เขลาและไม่รู้" :)

นี่คือสิ่งที่เพิ่งสร้างความรำคาญให้ฉันเมื่อเราใช้ SVN สำหรับการจัดการเอกสารและโครงการซึ่งอาจหมายถึงตัวทำดัชนีของ Windows มีประโยชน์อย่างมากเมื่อพูดถึงการค้นหาเอกสารที่ไม่ชัดเจน

นี่เป็นโซลูชันของฉัน (ค่อนข้างน่าเกลียด) ในไฟล์แบตช์ windows:

 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 ของคุณด้วยที่เก็บขนาดใหญ่ซึ่งอาจใช้เวลาสักครู่ ...

ขณะนี้ฉันกำลังทดสอบสิ่งนี้ภายใต้ Vista ด้วย service pack ล่าสุดฉันคาดหวังว่ามันจะทำงานบน Windows 7 ฉันไม่ทราบว่าดัชนีจะต้องถูกสร้างใหม่เพื่อพิจารณาบัญชีของไฟล์ที่ถูกทำเครื่องหมายว่าไม่ได้จัดทำดัชนีโดย ทำสิ่งนี้ แต่ฉันต้องสร้างของฉันใหม่เพื่อให้เป็นสิ่งที่ฉันทำเพราะมันเป็นเพียงไม่กี่วันในขณะที่ดัชนีสร้างใหม่

ในการทำให้ "อัตโนมัติ" นี้คุณสามารถเพิ่มไฟล์แบตช์เป็นฮุกหลังการอัพเดทที่ถูกเรียกใช้หลังจากการอัพเดท ... ที่ได้รับมันยุ่ง แต่มันอาจใช้งานได้


1

คุณสามารถบอกให้ Windows Search เพิกเฉยต่อโฟลเดอร์. 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 dword ไม่แน่ใจว่าจำเป็น แต่ฉันเพิ่มค่านี้ให้กับบัญชีสำหรับกฎเพิ่มเติม
gapple
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.