Perforce에서 변경 목록 설명 텍스트를 어떻게 검색합니까?
가끔 Perforce에서 변경 목록 설명 텍스트를 검색하고 싶습니다. P4V에서는이를 수행하는 방법이없는 것 같습니다. 변경 명령의 출력을 파일로 리디렉션하여 수행 할 수 있습니다.
p4 changes -l > p4changes.txt
... (-l 스위치는 변경 목록 설명의 전체 텍스트를 덤프하도록 지시합니다) 파일을 검색하지만 이것은 다소 번거 롭습니다. 더 나은 방법을 찾은 사람이 있습니까?
제출 된 변경 목록 창에 포커스가있을 때 CTRL + F를 사용하여 변경 목록 설명을 포함하는 임의의 텍스트 검색을 수행 할 수 있습니다.
유일한 제한은 서버에서 가져온 변경 목록 만 검색하므로 검색된 수를 늘려야 할 수도 있습니다. 이는 "한 번에 가져올 변경 목록, 작업, 분기 매핑 또는 레이블 수"설정을 통해 수행되며 편집-> 기본 설정-> 서버 데이터로 이동하여 찾을 수 있습니다.
p4 changes -L | grep -B 3 searchstring
-B 3
일치하는 문자열 앞에 3 줄을 표시한다는 의미이며 2 줄 주석으로 변경 ID를 표시하기에 충분해야하지만 필요에 따라 변경할 수 있습니다.
p4sql을 사용 하고 "변경"데이터베이스에 대한 쿼리를 실행합니다. 다음은 Perforce 데이터베이스 스키마입니다.
쿼리는 다음과 같습니다.
select change from changes where description like '%text%' and p4options = 'longdesc'
편집 : 설명에 31 자 이상을 반환하는 p4options를 추가했습니다.
다음은 Paul의 "grep"답변의 Powershell 버전입니다. 다시, 변경 설명 내에서 지정된 문자열을 검색하고 변경 ID를 포함하기 위해 그 앞에 3 줄을 반환합니다.
p4 changes -L | select-string "search string" -Context (3,0)
출력을 파이프하고 의 검색을 less
사용할 수 있는데 왜 파일로 리디렉션 less
합니까?
p4 changes -l | less
그런 다음를 눌러 /검색 문자열을 입력합니다. 이후 n다음 경기로 이동하고 Shift+ n는 이전 경기 로 이동합니다.
less
Windows 용 구현은 UnxUtils의 일부로 제공됩니다 .
p4sql을 사용하는 것이 실제로 원하는 것을 효과적으로 수행하는 유일한 방법입니다. 다른 방법은 알지 못합니다. 물론 장점은 select 문을 사용하여 변경 목록 값의 범위를 제한 할 수 있다는 것입니다 (날짜, 사용자 등을 통해). 귀하의 방법은 작동하지만 더 많은 변경 목록을 생성하면 매우 빠르게 번거로워집니다. changes 명령의 범위를 제한 할 수 있지만 p4sql의 유연성을 얻을 수 없습니다.
게임의 Eddie는 http://www.eddiescholtz.com/blog/archives/130에 Perforce Changelist Search 0.1을 게시했습니다 .
하지만, 내가 좋아하는 텍스트 편집기를 간단한 방법으로 사용하는 것을 좋아합니다 : p4 changes -s submit // prog / stuff / main / ...> temp.txt
여전히 명령 줄이 마음에 들면 다음과 같은 작은 펄 스크립트를 작성할 수 있습니다.
- 레코드 구분 기호 $ /를 이중 줄 바꿈 "\ n \ n"으로 변경하여 입력을 ztagged p4 출력의 전체 레코드로 필터링합니다.
- 인수의 정규 표현식으로 '/ ^ ... desc /..//'부분을 스캔합니다.
사용법은 'p4 -ztag changes -l | yourperlfilter.pl searchterm1 searchterm2 '
제대로 작동하면 p4win 도구 메뉴에 통합 할 수 있습니다 .
'Programing' 카테고리의 다른 글
Gradle을 수동으로 설치하고 Android Studio에서 사용 (0) | 2020.11.15 |
---|---|
std : set (단일 콜론 사용)이 컴파일되는 이유는 무엇입니까? (0) | 2020.11.15 |
프로그램 취소 명령에서 ctrl c와 동일 (0) | 2020.11.15 |
fps 게임에서 조준 봇은 어떻게 작동합니까? (0) | 2020.11.15 |
Gacutil.exe는 어셈블리를 성공적으로 추가하지만 탐색기에서 어셈블리를 볼 수 없습니다. (0) | 2020.11.15 |