2016-11-29 3 views
1

를 시작, 내가 쉘에서 P4 명령을 실행할 수 있습니다 그리고 내가에 누구인지 작업 공간 알고있다.자동 선택 쉘에서 P4V

을하지만 , p4v를 실행하면 수동으로로드 할 작업 영역을 찾아야합니다. 실행할 p4 커맨드의 컨텍스트는 쉘에 이미 알려져 있으므로, p4v에 어떻게 전달할 수 있는지, 같은 작업 공간에서 실행될 것입니다. p4 툴체인이 이미 컨텍스트를 스스로 결정할 수 있기 때문에 툴을 시작할 때 작업 영역을 선택해야하는 이유는 없습니다.

현재 작동하지 않는 다른 작업 영역을 선택하려면 작업 영역을 선택해야합니다.

+0

이 질문은 다른 질문의 반대 것 같다 : http://stackoverflow.com/questions/9885053/perforce-p4-command-line-is-not-using- p4v와 동일한 클라이언트로 사용 그리고 http://answers.perforce.com/articles/KB/2911에서 p4v 환경 설정은 ~/.p4qt /에 있지만 여전히 p4 환경 변수를 취하여 p4v 환경 설정 또는 p4v 명령 행 옵션으로 직접 변환하여 올바른 작업 공간을 기본적으로 팝업하는 방법을 모릅니다. – mattgately

답변

2

P4V는 자체 설정 파일을 가지고 있으며 쉘의 환경을 무시합니다. 이 블로그 게시물 당 :이 처리 할 것

https://www.perforce.com/blog/100114/p4v-secrets-calling-p4v-command-line

방법은 P4V를 래핑과 현재 환경을 전달하는 스크립트/별칭을 작성하는 것입니다. 이 라인을 따라 뭔가 :

$_ = `p4 -Ztag -F "%serverAddress%@%clientName%@%userName%" info`; 
@env = split /\@/; 
exec "p4v -p $env[0] -c $env[1] -u $env[2]"; 
+0

Sam이'p4 info' 포맷으로 시작하게 해줘서 고맙다. 코드를 직접 실행할 수 없었지만 최종 _bash_ 솔루션을 예제로 게시했습니다. – mattgately