2014-11-11 5 views
3

perforce api를 사용하여 java의 분기에있는 폴더 목록을 읽습니다.PERFORCE의 지점에서 폴더 목록을 얻는 방법은 무엇입니까?

브랜치 사양을 얻는 시점까지 도달했습니다.

http://www.perforce.com/perforce/doc.current/manuals/p4java-javadoc/com/perforce/p4java/server/IServer.html#getBranchSpec(java.lang.String)

getDirectories() 메소드를 구현하려면 다음 코드를 사용

.

String serverUri = "p4java://<server-address>:1666?userName=username&password=password"; 
IServer server = ServerFactory.getServer(serverUri, null); 
server.connect(); 

List<IFileSpec> inputList = FileSpecBuilder.makeFileSpecList("//domain/code/branches/"); 
System.out.println("HelloPerforce.main() >> passed list >> " + inputList); 

List<IFileSpec> outputList = server.getDirectories(inputList , false, false, false); 
System.out.println("HelloPerforce.main() >> directory list >> " + outputList); 

출력 : outputList은 null입니다.

예상 출력 ://domain/code/branches 디렉토리 안에 폴더 이름 목록.

누군가 내가 여기에 무엇이 빠져 있음을 지적 할 수 있습니까?

답변

2

원하는 것은 getDirectories()입니다. 브랜치 스펙은 두 가지 (일반적으로 이지만 최상위 레벨 저장소 경로는 일 필요는 없음) 간의 맵핑입니다. 일반적으로 하나의 "지점"에 대해 이야기하는 경우 저장소 경로가 있습니다. "// depot/main"을 사용하십시오. "main"브랜치 아래의 폴더 목록을 얻으려면 "// depot/main/*"과 일치하는 디렉토리 목록을 요청하십시오.

+0

감사합니다. 샘. getDirectories는 실제로 전달 된 파일 스펙에 대한 모든 '일치하는'디렉토리를 나열합니다. 따라서 "// depot/main"을 전달하면 perforce의 정확한 디렉토리와 메인 디렉토리의 폴더가 정확하게 나열됩니다. 해당 폴더 안에있는 디렉토리 목록을 어떻게 얻을 수 있습니까? Coudnt는 그 기능을 찾는다. – ajc

+0

예제에서와 같이 "// depot/main/*"을 사용하십시오. 후미 "/ *"는 하위 디렉토리와 일치하는 부분입니다. :) –

+0

awesome !!! 그것을 사랑! 조금도! 나는 어떻게 ur 대답의 마지막 진술을 그리워 했는가? – ajc

관련 문제