2012-08-30 2 views
0

Java 코드를 통해 P4 지점에서 잠금을 얻고 싶습니다. 어느 누구도 Java를 통해 그것을 달성하기 위해 괭이를 알고 있습니까?Java 코드를 통해 P4에서 잠금 얻기

IBranchSpec ibranchSpec = underlyingPerforceOptionsServer .getBranchSpec("//Tools/Patch/bin/"); 
ibranchSpec.setLocked(true); 

문제는 여기에, ibranchSpec 모든 저장소를 포함입니다 내가 왜 확실하지 않다 :

나는 아래의 코드를 사용합니다.

setLock 용 API는 서버 업데이트가 완료된 후에 만 ​​작업을 시작합니다. 나는 그런 것을 사용하려고 시도했다 :

ibranchSpec.Update(); 

그리고 그것은 예외를 제외한다. 어떤 아이디어?

com.perforce.p4java.exception.RequestException: Error in branch specification. 
    You cannot use the default branch view; it is just a sample. 

답변

1

당신이 설명하는 동작은 기존의 것이 아닌 새로운 분기 사양으로 작업하고 있기 때문입니다.

은 그러나 당신은 아마 파일 저장소에의 세트로 지점 사양을 혼동하는 공통의 혼란을 발생하고 있습니다. 이다

, // 도구/릴리스/빈은/... 도구/패치/빈 // 매핑되어/... 파일의 세트에 다른 방법을 설명 분기 사양 // Tools/Patch/bin/...

일반적으로 Perforce 워크 플로우는 일반적으로 파일 세트를 잠그지 않습니다. PERFORCE의 핵심은 변경 사항 병합과 함께 많은 사용자가 작업을 동시에 편집 할 수 있기 때문입니다 충돌 해결을 관리합니다.

그러나 특정 시간에 저장소의 특정 섹션을 누가 언제 확인할 수 있는지 제어하려는 높은 수준의 개발 워크 플로가 있다면 이는 절대적으로 합리적입니다.

제 경험상, 퍼슨 보호 장치 메커니즘을 사용하는 것이 가장 좋은 방법입니다. 저장소의 다양한 섹션을 설명하고 누가 어떤 섹션에 제출할 수 있는지에 대한 보호 파일을 설정하십시오. 사용자 그룹을 사용하여 사용자 집합을 설명하고 전반적인 보호 테이블을 비교적 간단하게 유지하십시오.

그런 다음 사용자 그룹에서 저장소 섹션 ("지점")을 "잠 그거나"잠금 해제하려면 보호 테이블을 거부 ("잠금") 또는 부여 해당 그룹에 해당 지점에 쓰기 권한을 부여합니다.

이 관련 질문에는 해당 답변의 기술에 대한 훌륭한 설명이 있습니다. Locking a branch in perforce?

관련 문제