Programing

Perforce에서 변경 목록 설명 텍스트를 어떻게 검색합니까?

lottogame 2020. 11. 15. 10:52
반응형

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는 이전 경기 로 이동합니다.

lessWindows 용 구현은 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 도구 메뉴에 통합 할 수 있습니다 .

참고 URL : https://stackoverflow.com/questions/134103/how-do-you-search-the-text-of-changelist-descriptions-in-perforce

반응형