2011-01-26 6 views
0

지정된 파일 (경로)이 저장소로 커밋되지 않도록 할 수 있습니까?파일을 리포지토리에 업로드하지 않으려면 어떻게해야합니까?

예를 들어, somepath/database_config.php을 커밋 할 수 없습니다.

나는 svn:ignore 속성을 사용하려했지만 리포지토리가 아닌 작업 복사본에서만 작동하는 것으로 보입니다.

나는이 기능에 대해 svnbook.red-bean.com을 읽었지만 내 두뇌가 내가 원하는 것처럼 작동하지 않는 이유를 실제로 이해할 수 없다고 생각합니다.

+0

'svn : ignore'는 필요한 것을 수행해야합니다. 정확히 방지하고 싶은 것을 명확히 할 수 있습니까? –

+0

svn : ignore를 저장소에있는 파일 이름으로 설정하려고하면 'svn says :' "비 로컬 대상 'https://example.com/sample_path/config'에 속성을 설정하려면 기본 개정이 필요합니다." – Azat

+0

저장소에서 체크 아웃 된 로컬 버전의 propset. 난 당신이 repos에 직접 설정할 수 있다고 생각하지 않습니다. – yvoyer

답변

1

svn lock 명령을 사용하여 특정 파일이나 경로가 저장소에서 변경되지 않도록 할 수 있습니다. 그러므로 어떤 파일을 에서까지 커밋하는 것을 방지하려면 빈 파일을 커밋하거나 (이 파일을 커밋하지 말고 config가 로컬 컴퓨터에만 만들어 져야 함) 커밋 한 다음 파일을 로컬로 변경하십시오 필요한 모든 내용을 담을 수 있습니다.

파일을 잠근 다음 다른 사용자가 잠금 또는 파일 자체를 수정하지 못하게 할 수는 있지만 개발자가 분명히 잠겨있는 파일을보고 있으면 그 시점부터 시작해야합니다. 그 (것)들을 치고 그 저장소에 그들의 쓰기 접근 전부를 제거하는 것을 생각하십시오.

자세한 내용은 manual entrymore detailed documentation에서 확인할 수 있습니다.

+0

어쨌든 다른 사람이이 파일의 잠금을 해제 할 수있는 권한을 가지고있을 것입니다. – Azat

+0

안녕하세요, Jeff가 http://stackoverflow.com/questions/234075/what-is-your-best-programmer-joke를 삭제하여 삭제를 취소하고 이전하지 않을 예정입니다. 네가 정말로 신경 쓰면 메타에서 물어볼거야. – Will

+0

누군가 나 (심지어 나를) 일부 파일을 잠근 경우 작업 복사본에서 저장소로의 다른 변경 사항을 저지하지 않습니다. – Azat

3

FYI : svn:ignore은 무시할 파일이 저장소에없는 경우에만 작동합니다.

리포지토리에 구성 파일을 추가 할 때 수행 할 작업은 리포지토리에 보관 될 템플릿 파일을 만든 다음 각 개발자 전용 구성 파일을 무시하는 것입니다. 코드를 계산하는 사람은 누구나 .template 확장자가없는 템플릿의 이름을 바꾸고 로컬 구성을 입력해야합니다.

그런 식으로 모든 개발자는 모든 사람에게 영향을 미치지 않고 다른 구성을 가질 수 있습니다.

예 : 템플릿 파일 : database_config.php.template

$config = array(
    'host'  => 'XXXX', 
    'db'  => 'XXXX', 
    'user'  => 'XXXX', 
    'password' => 'XXXX', 
); 

구성 파일 : 당신은 당신의 저장소에 추가하려면 다음 SVN 명령을 만들 것

$config = array(
    'host'  => 'XXXX', 
    'db'  => 'XXXX', 
    'user'  => 'XXXX', 
    'password' => 'XXXX', 
); 

database_config.php .

// Add the template 
svn add database_config.php.template 
// Ignore the config file used by the system (Should not be in repository) 
svn propset svn:ignore "config.php" . 
svn commit 
+0

'svn propset svn : ignore'는 각 개발자가 수행해야합니까? – Azat

+0

@Azat, 아니요, 템플릿 파일을 추가 한 디렉토리에서 한 번 수행합니다. 무시는 그 후에 모두에게 효과적입니다. 그것은'svn status'에 결코 나타나지 않을 것입니다. – yvoyer

+0

저장소의 디렉토리에서이 작업을 시도하지만 svn은 "기본 개정이 필요합니다"라고 알려줍니다. – Azat

관련 문제