저는 Perforce를 처음 사용합니다. 현재 서버에는 다른 사람의 작업 영역 옵션을 변경할 수있는 잘못된 구성이있는 것으로 보입니다.사람들이 Perforce에서 다른 작업 공간 옵션을 편집하지 못하게하는 방법은 무엇입니까?
누구든지 신속하게 문제를 해결하는 방법을 알고 있습니까?
감사합니다,
토마스
저는 Perforce를 처음 사용합니다. 현재 서버에는 다른 사람의 작업 영역 옵션을 변경할 수있는 잘못된 구성이있는 것으로 보입니다.사람들이 Perforce에서 다른 작업 공간 옵션을 편집하지 못하게하는 방법은 무엇입니까?
누구든지 신속하게 문제를 해결하는 방법을 알고 있습니까?
감사합니다,
토마스
작업 영역에서 '잠긴'옵션을 설정하면 작업 영역은 해당 소유자 (또는 'admin'이상의 액세스 수준을 가진 사용자) 만 수정할 수 있습니다. 또한 다른 사용자가 해당 작업 영역을 사용하거나 삭제하는 것을 방지합니다.
나는 쉽게 또는 문제를 신속하게 해결하는 방법을 알고하지 않습니다.
그런 말을 해 본다면 실제로 문제가있는 것입니까? 아니면 다른 사람들이 다른 작업 공간 구성의 소유권을 가지고 있다고 생각합니까? 여기서 내가 일하는 곳에서, 우리는 우리 자신의 것으로 유지하고자하는 작업 공간에 접두어를 붙이고 공유 된 작업 공간에 남겨 두거나 다른 접두사를 사용한다.
작업 공간의 소유권이 명확하지 않아 문제가 발생하는 경우 문제가 해결됩니다. 동료가 소유권을 무시하고 의도적으로 변경하는 상황 인 경우 걱정할 다른 문제가있을 가능성이 큽니다.
직접 수정이 아니지만 "Spec Depot"을 구현하여 클라이언트 사양 변경 사항을 추적 할 수 있습니다. KB article here을 참조하십시오.
귀하의 질문을 읽기 전에 나는 관리자 권한이없는 다른 사용자의 클라이언트 사양을 수정할 수 있다는 것을 깨닫지 못했습니다. 퍼펙스를 9 년 동안 사용하면서 저는 사람들에게 실제 문제가되는 것을 결코 경험하지 못했습니다.
cjhuitt가 클라이언트 사양에 사용자 이름/이니셜을 접두어로 사용하는 것이 좋은 방법이며 특히 대규모 설치의 경우 매우 일반적입니다.
워크 스페이스를 잠그는 것이 좋습니다. Heath에게 감사드립니다. 나는 작은 PERL 스크립트에서 일한
기존의 모든 작업 영역을 잠급니다 : 지금 작업 영역을 만들거나 편집 후 트리거 잠금 옵션을 적용하려고 작동
#*******************************************************************************
# Module: LockClients.pl
# Purpose: A perl script using the CLI to lock all clients on a server
#
# Debug Flag:
$DEBUG_FLAG = 1 ; # 1 for TRUE, 0 for FALSE
# Get the list of clients on the server:
@list = `p4 clients`;
foreach $client (@list) {
# Get client name:
$clientname = (split//,$client)[1];
if ($DEBUG_FLAG) { print ("Client name: $clientname \n"); }
# Prepare temporary file name (will contain the new config spec of the client):
$filename = sprintf("tmp_%s.txt",$clientname);
if ($DEBUG_FLAG) { print ("Temporary file: $filename \n"); }
# Get client spec:
@clientspec = `p4 client -o $clientname`;
# Write client spec to file:
open (VIRTUAL , ">$filename") || die "ERROR: Could not create $filename \n";
foreach $line (@clientspec) {
if ($line =~ m/^Options:.*$/m){
if ($DEBUG_FLAG) { print ("Line before substitution: $line"); }
$line =~ s/unlocked/locked/;
if ($DEBUG_FLAG) { print ("Line after substitution: $line"); }
}
print VIRTUAL $line;
}
close (VIRTUAL);
# Import new config spec in client:
`p4 client -i -f < $filename`;
if ($DEBUG_FLAG) { print ("Workspace $clientname locked !\n\n"); }
}
exit 0;
. :)
토마스