2012-12-15 2 views
0

SVN에 처음 소개되었으므로 간단한 스크립트 일 수 있습니다.하지만 하루 종일 걸렸습니다. 이 설정입니다 :SVN은 커밋 및 병합 후 Apache에 게시합니다.

아파치/www가 아래에 설치 /과 웹 사이트

내가 작업 SVN 서버 (동일한 시스템) 및 싶습니다 한 /www/htdocs/example.com/www/을 받고있다 (훅을 사용하여) 커밋 한 후 수동 또는 자동으로 대상에 대한 내용을 게시 할 수 있습니다 : /www/htdocs/example.com/www/. repo는 /svn/www.example.com에 있습니다. 지금까지 두 가지 문제가 발생했습니다 : 그것보다 :

  1. 것은 내가 "///svn/www.example.com /www/htdocs/example.com/www수출 --force 파일 svn의"실행하는 경우 새 디렉토리를 만듭니다. /www/htdocs/example.com/www/www.example.com. 루트 디렉토리없이 내용 만 내보낼 수 있습니까?
  2. 웹 사이트 루트 디렉토리 (/www/htdocs/example.com/www)에 이미 사용자가 업로드 한 파일이 있으므로 svn에서 내보내기하면 저장소에서 찾은 파일 만 덮어 쓰고 나머지는 그대로 둡니다 (기본적으로 병합).

고마워요!

답변

0

내보내기 대신 www 디렉토리에 체크 아웃을 생성 할 수 있습니다. 아파치에 deny access to .svn folder 수 있습니다.

svn update --accept theirs-full /www/htdocs/example.com/www 

또한 모든 로컬 변경 사항을 취소 먼저 svn revert을 실행할 수 있습니다 : A가의 SVN 서버에 커밋 작업 복사본을 업데이트하고 지역 충돌하는 변경 사항을 취소하도록 설정이 다음

. svn checkout --forceshould also work.

+0

''svn co file : ///svn/www.example.com/www/htdocs/example.com/www'을 실행하면 다음 디렉토리로 끝납니다 : /www/htdocs/example.com/ www/www.example.com/ /www/htdocs/example.com/www 아래에 직접 파일을 보관해야합니다. – Stingus

+1

발견! 문제점은 Eclipse 프로젝트가 SVN을 사용하도록 구성된 방법이었습니다. www.example.com 폴더는 Eclipse에 의해 SVN에서 생성되었습니다 (실제로 저와 저의 어리석은 설정이었습니다). 감사! – Stingus