코드 스 니펫에 대한 SVN 저장소를 검색 할 수있는 좋은 소프트웨어가 있습니까? 'FishEye'를 찾았지만 비용은 1,200이며 예산을 벗어났습니다.
svn log --search
옵션이 있으며 간단한 리포지토리 기록 검색을 원하는 사람에게 편리 할 수 있습니다.
코드 스 니펫에 대한 SVN 저장소를 검색 할 수있는 좋은 소프트웨어가 있습니까? 'FishEye'를 찾았지만 비용은 1,200이며 예산을 벗어났습니다.
svn log --search
옵션이 있으며 간단한 리포지토리 기록 검색을 원하는 사람에게 편리 할 수 있습니다.
답변:
파일 이름 만 검색하는 경우 다음을 사용하십시오.
svn list -R file:///subversion/repository | grep filename
윈도우 :
svn list -R file:///subversion/repository | findstr filename
그렇지 않으면 체크 아웃하고 파일 시스템 검색을 수행하십시오.
egrep -r _code_ .
이 sourceforge.net/projects/svn-search은 .
SVN 홈에서 직접 SvnQuery라는 Windows 응용 프로그램도 http://svnquery.tigris.org에 있습니다.
VisualSVN Server 4.2는 웹 인터페이스에서 파일 및 폴더 찾기를 지원합니다. 데모 서버의 저장소 중 하나에서 새로운 기능을 사용해보십시오 !
버전 4.2 릴리스 정보를 참조하고 기본 다운로드 페이지 에서 VisualSVN Server 4.2.0을 다운로드하십시오 .
이전 답변
Subversion 1.8--search
svn log
부터는 command 와 함께 option을 사용할 수 있습니다 . 이 명령은 저장소 내에서 전체 텍스트 검색을 수행하지 않으며 다음 데이터 만 고려합니다.
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.
이 예제는 리포지토리의 전체 내용을 파일로 파이프 한 다음 편집기에서 파일 이름을 빠르게 검색 할 수 있습니다.
svn list -R svn://svn > filelist.txt
이는 저장소가 비교적 정적이며 SVN 서버에서 모든 항목을 반복적으로로드하지 않고 빠른 검색을 수행하려는 경우에 유용합니다.
http
프로토콜 ( svn list -R http://repo/svn/etc
) 로 사용해야 했습니다 .
나는 TRAC를 좋아한다-이 플러그인은 당신의 작업에 도움이 될 것입니다 : http://trac-hacks.org/wiki/RepoSearchPlugin
참고로 FishEye (및 많은 다른 Atlassian 제품)에는 $ 10 Starter Edition이 있으며, FishEye의 경우 5 개의 리포지토리와 최대 10 개의 커미터에 액세스 할 수 있습니다. 이 경우 돈은 자선 단체에 간다.
단일 파일 또는 작은 리포지토리의 기록을 검색하는 경우 고통스럽고 느리게 구현되지만 svn log 및 svn cat 조합이 작동합니다.
svn log filetosearch |
grep '^r' |
cut -f1 -d' ' |
xargs -i bash -c "echo '{}'; svn cat filetosearch -'{}'"
파일이 변경된 각 개정 번호와 파일을 출력합니다. 항상 각 개정판을 다른 파일로 분류 한 다음 변경 사항을 grep 할 수 있습니다.
추신. 이 작업을 올바르게 수행하는 방법을 보여주는 사람에게 대규모 투표를하십시오!
git-svn
. Git은 커밋 히스토리에서 코드를 기본적으로 검색합니다. 그러나 사용하려면 커밋 기록 전체를 다운로드해야합니다 git-svn
.
많은 SVN 저장소는 "간단한"HTTP 사이트이므로 SVN 루트를 가리킬 수있는 기성품 "웹 크롤링"검색 앱을 살펴보면 기본 기능을 제공 할 수 있습니다. 그것을 업데이트하는 것은 약간의 트릭 일 것입니다. 해커 리의 일부 SVN 검사는 색인을 간지러워 변경 사항을 버리고 다시 색인을 생성 할 수 있습니다.
그냥 큰소리로 생각해