.svn 메타 데이터 인덱싱에서 Windows 7 자동 비활성화


26

SVN 리포지토리 및 Windows 인덱싱 서비스에서 .svn 메타 데이터 파일과 관련하여 알려진 문제가 있습니다. 자세한 내용은 여기를 참조하십시오.

우리가 그것을 설정하는 방법 그래서이없는 자동으로 윈도우 (비스타 / Win7에)에 의해 색인 서브 버전 저장소를 가진 아무 문제. (repo 디렉토리를 추가 할 때마다 수동으로 무언가를 수행 할 필요는 없습니다.)

한 가지 아이디어는 ".svn"이라는 폴더를 자동으로 색인화하지 않도록 Windows를 설정하는 것이지만이를 수행하는 방법을 찾을 수는 없습니다.

특정 확장자를 비활성화 할 수는 있지만 svn 메타 데이터 파일이 폴더에 있기 때문에 작동하지 않는 것 같습니다.

참고 :


SVN 저장소에는 .svn 파일이없고 SVN 작업 사본에는 없습니다. 아마에 대한 복사 문제가 일하고있어
샌더 Rijken에게

답변:


11

나는 같은 문제가 있었고 해결책을 찾았습니다. 모든 코드는 단일 폴더에 저장됩니다.

F : \ 프로젝트 \

이 폴더 아래에는 총 2GB가 넘는 코드 트리 및 관련 프로젝트 파일이 있습니다. 이 트리를 지속적으로 검색해야하며 Windows 인덱싱은 실제로 빠른 검색을 수행하는 데 매우 유용한 도구이므로 사용하지 않는 것이 옵션이 아닙니다. SVN 폴더가 검색 결과를 어지럽히 기 때문에 제외하고 싶습니다. (2) 시스템에서 불필요한 드래그, (3) SVN, Win7 및 MS Security Essentials는 큰 SVN 작업을 수행 할 때 제대로 작동하지 않는 것 같습니다.

해결 방법을 시도하기 전에 문제를 재현하십시오.

  1. Windows 탐색기에서 색인화 된 프로젝트 루트 (내 컴퓨터의 F : \ projects \)로 이동하십시오.
  2. 탐색기 창의 오른쪽 상단에있는 검색 막대를 사용하여 "svn"(따옴표없이)을 검색하십시오.
  3. ".svn"및 "svn-base"와 같은 1 조 개의 쓸모없는 SVN 파일 및 폴더가 결과에 표시되어야합니다.

해결책:

  1. http://code.msdn.microsoft.com/windowssearch/를 방문하십시오 .
  2. CrawlScopeCommandLine.zip 다운로드
  3. 컴퓨터의 특정 위치로 추출하고 프로젝트를 컴파일하십시오.
  4. 관리 권한으로 콘솔 창을 엽니 다 (시작 메뉴에서 "명령 프롬프트"항목을 Ctrl + Shift + 왼쪽 클릭).
  5. 위 프로젝트를 컴파일 한 곳으로 이동하십시오.
  6. / add_rule 매개 변수를 사용하여 csmcmd.exe를 실행하십시오 (구문에 /?를 먼저 사용하십시오).
  7. 필자의 경우 다음 명령을 입력했습니다. csmcmd.exe /add_rule file:///F:\projects\*\.svn\* /USER /EXCLUDE

나는 csmcmd.exe /enumerate_rules기존의 모든 것을 나열하기 위해 먼저 명령을 실행하여 이것을 알아 냈습니다 . Windows에서 별표 (*) 와일드 카드를 사용하는 규칙이 이미 있었으므로 이것이 가능하다는 증거였습니다.

이제 단계를 반복하여 문제를 재현하면 더 이상 검색 결과에 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

나는이 방법을 1 년 동안 사용해 왔으며 완벽하게 작동했습니다.
Giscard Biamby

1
연결이 끊어졌지만 MS SDK에 포함되어 있으며 별도로 제공되는 샘플 앱입니다. 출처 : msdn.microsoft.com/en-us/library/windows/desktop/…-Microsoft가 여전히 바이너리를 호스팅하는지 확실하지 않습니다. `. \ csmcmd / add_rule "file : /// c : * \ .git *"/ DEFAULT / EXCLUDE`를 사용하여 git repos를 제외했습니다.
Ryan Pavlik

5

AFAIK, Windows 7의 Windows 인덱싱 서비스는 Users 폴더 내에서만 기본값으로 표시됩니다 (잘못된 경우 수정). 개인 폴더 내에 SVN 저장소가있는 경우 다음을 수행 할 수 있습니다.

a) SVN 리포지토리를 다른 곳에두기

b) 색인에서 해당 폴더를 제외합니다. 여기 에서 폴더를 제외하는 방법을 찾을 수 있습니다.


7
svn 메타 데이터 파일이 아닌 리포지토리를 색인화하고 싶습니다.
James Van Boxtel

4

명백한 수정은 Subversion이 .svn 디렉토리를 만들 때마다이 "인덱싱 안 함"플래그를 설정하도록 변경하는 것입니다. 문제는이 기능이 도입 될 때 더 이상 필요하지 않다는 것입니다.

알려진 문제는 현재 개발중인 Subversion 버전 (버전 1.7)에서 사라질 것입니다. .svn 디렉토리 내부에는 파일 작업이 훨씬 적으며 작업 사본 당 1 개의 .svn 디렉토리도 있습니다.

이로 인해 문제가 발생할 가능성이 줄어들고 .svn 폴더가 하나뿐이므로 인덱싱을 훨씬 쉽게 해제 할 수 있습니다.


2

무차별 대입법

  1. 모든 .svn 디렉토리를 검색하십시오.
  2. 모두 선택 (ctrl + a)
  3. 마우스 오른쪽 클릭 속성
  4. "고급 ..."을 클릭하십시오
  5. "빠른 검색을 위해이 폴더 색인화"를 선택 해제하십시오.
  6. 변경 사항을 적용하십시오

WDS 그룹 정책 에는 옵션이 Prevent Indexing Certain Paths있지만 기능 차트에 따라 Windows Vista에서는 사용할 수 없습니다.

Windows XP, Windows Search 3.01이 설치된 Windows Server 2003 또는 Windows Search 4.0 이상이 설치된 모든 Microsoft Windows 버전에서 지원됩니다.


1
이 해결 방법을 알고 있었지만 자동이 아닙니다. 목표는 자동으로 생성 된 새 폴더가이 동작을 갖도록하는 것입니다.
James Van Boxtel

1

Darren Halls의 답변이 "Brute Force"접근법이라면, 나의 대답은 "Brute Force and Ignorance"접근법이어야합니다. :)

이것은 문서 및 프로젝트 관리에 SVN을 사용함에 따라 최근에 화가 났으며, 이는 Windows 인덱서가 모호한 문서를 검색 할 때 매우 유용하지만 모든 svn 스토리지 파일을 잡는 것은 쓸모가 없다는 것을 의미합니다.

이것은 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이 + I 스위치를 숨겨진 폴더에 적용하는 것을 거부하기 때문에 첫 번째와 마지막 줄이 있습니다. 이 파일을 "svnNoIndex.bat"와 같은 파일로 복사하고 SVN 체크 아웃 디렉토리에서 실행해야합니다.

현재 Vista에서 최신 서비스 팩으로 이것을 테스트하고 있으며 Windows 7에서 작동 할 것으로 예상합니다. 색인화되지 않은 것으로 표시된 파일을 고려하여 색인을 다시 빌드해야하는지 모르겠습니다. 이 작업을 수행하지만 어쨌든 광산을 재건해야하므로 색인이 재건되는 동안 며칠 만에 내가하고있는 일입니다.

이 "자동"을 만들기 위해 배치 파일을 업데이트 후 실행되는 업데이트 후 후크로 추가 할 수 있습니다.


1

기본적으로 레지스트리를 조정하여 .svn 폴더를 무시하도록 Windows 검색에 지시 할 수 있습니다.

[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.