2012-03-28 5 views
1

P4V v2011.1p4v 작업 영역 파일 만 동기화하는 방법

p4v는 현재 동기화하려는 폴더 아래의 모든 것을 동기화합니다. 그러나 제 경우에는 폴더에 여러 하위 폴더가있을 수 있습니다. 여기서 50 개 폴더 만 동기화하고 다른 50 개 하위 폴더는 건너 뛸 수 있습니다. 원하지 않는 파일을 전송하는 대역폭을 낭비하고 싶지 않으므로 50 개의 하위 폴더를 마우스 오른쪽 버튼으로 클릭하여 개별적으로 동기화 할 필요가 없습니다. 쉬운 방법이 있습니까 동기화 내 작업 영역에만있는 파일입니까?

답변

2

#have 지정자를 사용하는 명령 줄을 통해 가능합니다.

p4 fstat -T depotFile //...#have | p4 -x – sync 
  1. p4 fstat -T depotFile //...#have

    현재 작업 공간에있는 파일에 대한 저장소 파일 스펙을 반환합니다.

  2. p4 -x – sync은 파이프 (|)를 사용하여 이전 명령의 출력을 가져 와서 동기화합니다.

...

이이 P4V에서 원하는 경우 WSH 스크립트를 호출하는 custom tool를 작성할 수 있습니다.

var WshShell = new ActiveXObject("WScript.Shell"); 
var oExec = WshShell.Exec("p4 fstat -T depotFile //...#have | p4 -x – sync");  
while (oExec.Status == 0) 
    WScript.Sleep(100); 

WScript.Echo(oExec.Status); 

주 : 새로 추가 파일을 동기화되지 않습니다 #have과 함께 위의 방법을 사용. 이것이 당신이 원하는 것인지 확실하지 않습니다.


또 다른 방법은 원하는 파일 지정을 동기화하는 배치 파일을 만드는 것입니다. 매일 아침마다 여러 지점과 프로젝트를 동기화하는 프로그램을 운영합니다.

자신을 생성하려면 메모장을 열고 필요한 p4 sync 명령을 차례로 추가하십시오.

p4 sync //projectA/... 
p4 sync //projectB/folder1 
p4 sync //projectB/folder2 
... 
p4 sync //projectB/folder5 

초기 설정 작업이 조금 있습니다.

또는

배치 파일이나 스크립트를 사용 매핑 전체 창고와 처음으로 작업 영역 및 초 당신은 시간의 90 %를 원하는 제한된 매핑을 사용하는 것보다 아마도 더 나은.

4

작업 영역보기를 편집하여 명시 적으로 원하는 폴더 만 지정하고 '...'와일드 카드를 사용하여 하위 폴더를 재귀 적으로 포함시키지 않으려면 어떻게해야합니까?

관련 문제