SVN(Subversion) 저장소 디렉토리 + 파일에서 현재 개정판을 추출하는 방법

SVN(Subversion) 저장소 디렉토리 + 파일에서 현재 개정판을 추출하는 방법

웹 인터페이스 등을 통해 관리되는 SVN 저장소가 있고 svn checkout https://server/repos/proj1모든 것이 잘 작동합니다.

이제 예를 들어 서버에서 쉘 명령을 사용하여 commit최신 버전을 디렉토리에 복사하고 싶습니다 ./home/user/somewhere/proj1/rev102/

내가 올바르게 기억한다면, 명령당 하나의 명령을 호출할 수 있습니다 commit. 수행 방법에 대해서는 크게 걱정하지 않습니다(실패하면 cron작업을 생성할 수 있음).

svn updatesvn 로그인 메커니즘 등을 사용하지 않고 로컬로 실행되는 쉘 스크립트를 사용하여 svn repo 디렉토리/파일에서 최신 파일을 추출하려면 어떻게 해야 합니까 ? 모든 파일이 거기에 있고 셸에서 액세스할 수 있으므로 쉬울 것입니다.

답변1

svn loginsvn 데이터베이스 파일에 직접 액세스할 수 있는 경우에는 필요하지 않습니다. 서버 어딘가에 디렉토리와 같은 svn 데이터베이스의 루트가 있습니다 /some/dir. 여기 에는 db, conf및 하위 디렉토리가 있습니다 . 다음 명령을 사용하여 동일한 머신에서 이 저장소를 체크아웃할 수 있습니다.hookslocks

cd /home/user/somewhere/
svn list file:///some/dir/
svn checkout file:///some/dir/repos/proj1/rev102  proj1/rev102

svn update새로 생성된 하위 디렉터리에서도 이 작업을 수행 할 수 있습니다 .

말했듯이 모든 커밋에서 명령을 호출할 수 있습니다. 파일을 편집하고 이름을 in hooks/post-commit.tmpl으로 바꿉니다 .hooks/post-commit/some/dir

관련 정보