PERFORCE 클라이언트 스펙은 PERFORCE 클라이언트에 표시되고 (동기화 될) PERFORCE 저장소의 어떤 부분을 결정합니다. clientspec은 또한 Perforce 저장소 경로에서 로컬 경로로의 맵핑을 제공합니다.
당신은 선택적으로 억지로 저장소의 일부를 포함하여 억지로 클라이언트를 가지 치기 할 수 있습니다
//depot/main/path1/... //your-perforce-client/main/path1/...
//depot/main/path2/... //your-perforce-client/main/path2/...
는 //depot/main/path1/
및 하지 //depot/main/path3/
포함됩니다. 당신이 언급했듯이, 당신은 명시 적으로 경로를 제외 할 수
//depot/main/path1/... //your-perforce-client/main/path1/...
-//depot/main/path1/foo/... //your-perforce-client/main/path1/foo/...
는 foo
하위 디렉토리에 //depot/main/path1/
를 제외하고 파일의 모든 것을 포함 할 것이다.
git p4 clone --destination=/path/to/new/git/tree //depot/path1 //depot/path2
당신 경우 : 억지로 저장소를 구성하고, 당신은 잠재적으로 억지로 트리의 부분은 당신이 가져올 직접 git-p4
말할 수 포함하거나 제외하려는 작업에 따라 방법에 따라
제외를 사용하거나 Perforce 저장소 경로를 로컬 경로에 매핑하는 방법을 조정하려면 --use-client-spec
옵션을 추가해야합니다. 보고 p4
의 원인이됩니다
P4CONFIG=.p4config
이렇게 : 환경 변수를
P4CLIENT=.p4config
을 다음 설정 : 당신은가 포함 된 힘내 트리의 부모 디렉토리에 .p4config
파일을 생성하여 사용되어야하는 억지로 클라이언트 구성 할 수 있습니다 PERFORCE 구성 데이터에 대해 현재 디렉토리에 .p4config
파일을 저장 한 다음 (상위 디렉토리를 점진적으로 검색) 가져옵니다
파일은 억지로 clientspec에 의해 명시 적으로 git p4 clone
명령 줄에서 제공하는 경로가 포함 된 경로의 교차로 될 것입니다.
(당신이 언급 한 바와 같이,
git-p4 clone
는
-
로 접두사를 지정하여 경로를 제외 할 수 없습니다. 그러나, 그 경로는 초기 수입에만 제외됩니다 것을 의미하기 때문에 나는이 일을하지 않는 것이 좋습니다. 그 경로에있는 파일을 터치하는 경우 퍼 포스에서 미래에
git p4 rebase
/
git p4 sync
을 수행하면 변경된 파일이 선택됩니다 (명령 행에서 명시 적으로 제외시키지 않은 경우).미래에
git p4 rebase
/
git p4 sync
를 사용할 때 처음
--use-client-spec
를 사용하여 가져 오기, 그러나, 그것은 자동으로 영광 할 수
.git/config
에 플래그를 설정합니다.)
한 가지주의해야 할 점은 선택적 복제를 수행하는 경우 별도의 합병증을 추가 할 것입니다 언젠가 PERFORCE 저장소의 다른 부분을 포함하기를 원할 것이다. 이를 수행하려면 my answer to "Extending git-p4
clientspec after initial clone"을 참조하십시오.
"git p4 clone --destination =/path/to/new/git/tree // depot/path1 // depot/path2"명령을 실행하면 path1과 path2에서 코드를 가져와 배치 할 수 있습니까? 하나의 자식 디렉토리에? 여기에 디렉토리 이름은 git/tree /입니까? –
@zhengyu 나는 이것이 효과가 있을지 의심 스럽다. 새로운 파일이'// depot/path1' 또는'// depot/path2'에 속하는지 여부가 모호 할 것이고, 동일한 파일 이름이 존재한다면 어떤 일이 벌어지기 때문에 Perl로 자식 변경을 다시 보낼 방법이 없습니다. 양자 모두? (당신은 물론 어떤 일이 일어나는지 직접 확인해 볼 수 있습니다.) – jamesdlin
'''sh git p4 clone --destination =/path/// depot/path1 // depot/path2 ' ''이 명령을 실행 한 후에 저장소에서 나오는 두 경로 (1과 2)가 git repo에서 어떻게 보이는지 말해 줄 수 있습니까? 자식 또는 두 폴더? –