2014-03-04 3 views
0

SVN 또는 TortoiseSVN의 디렉토리를 체크 아웃하거나 로컬 컴퓨터에 내보내고 업데이트 할 수 있습니까?커밋 기능이없는 SVN 체크 아웃

기본적으로 디렉토리를 내보내고 싶지만 TortoiseSVN과 같은 것을 사용하여 쉽게 업데이트 할 수 있습니다. 간단히 디렉토리를 다시 내보낼 수는 있지만 파일을 업데이트하는 더 간단한 방법을 원합니다.

:

나는 매일 실행하고 내 시스템의 특정 디렉토리에 상주하는 스크립트가 있습니다. 그 스크립트를 SVN의 최신 개정판으로 쉽게 업데이트 할 수 있기를 원합니다. 나는 SVN에서 스크립트의 사본을 체크 아웃하여 이것을 수행 할 수 있지만, 누군가가 repo로 변경 한 내용을 커밋 할 수 있습니다.

대신 스크립트에 대한 모든 변경 사항은 개발 디렉토리의 다른 곳에서 수행되므로 (개발 중에 스크립트를 변경하지 않아도됩니다). 중요한 진전이 스크립트에 가면 간단히 탐색하고 최신 (또는 특정 개정판)을 얻기 위해 업데이트를 수행하므로 어쨌든 SVN에서 디렉토리/파일의 작업 복사본을 얻을 수 있습니다 커밋이 그 커밋에서 비롯된 것이 아니라 다른 작업 복사본에서 오는 것을 허용합니까?

+1

시도해 보셨습니까? 어떤 오류가 있었습니까? 나는 아무 이유도, 왜 그것이 작동하지 않아야하는지 본다. – nosid

+1

예, 분명히 커밋을 허용하거나 허용하지 않는 것은 클라이언트가 아닌 _server_의 설정입니다. 쓰기 권한없이 사용자를 만들면됩니다. – Wrikken

+0

나는이 "워크 카피"에서 오는 커밋을 서버에서 금지하고 싶지 않습니다. 디렉토리를 최신 개정판으로 업데이트 할 수 있지만 디렉토리에서 커밋 할 수 없기를 바랍니다. – celestialorb

답변

0

쉘 또는 배치 스크립트를 통해이 작업을 수행 할 수 있습니다. 먼저 svn에서 컴퓨터로 모든 파일을 내 보냅니다. 예를 들어, 1050이라고 내보내는 개정판을 찾으십시오. 내용이 1050 인 텍스트 파일 revision.txt를 작성하십시오.

이제 아래 쉘 스크립트를 사용하십시오.

enter image description here

revision_torevision_from의 차이를 발견하고 SVN에서 변경 사항을 보냅니다. 위의 스크립트는 삭제 된 파일을 처리하지 않습니다. 당신은 또한 다음과 같은 조건의 경우 더 뭔가를 하나 추가하여 해당 작업을 수행 할 수 있습니다 현재 내보내기가 완료되면

enter image description here

, 그것은을 위해, SVN의 최신 버전과 파일 revision.txt 업데이트됩니다 다음 실행.