문제

내 자동 배포 시스템은 전복을 통해 내 사이트의 최신 버전을 업데이트합니다.내 라이브 사이트가 트렁크를 가리키도록 하는 대신(항상 거의 작업 중인 버전임) 내 라이브 사이트가 태그를 가리키도록 합니다.

예:나는 트렁크에서 작업하고 v1.0이 완료되면 1.0이라는 태그를 생성하고 해당 태그를 체크아웃하여 내 라이브 사이트로 만듭니다.지금은 트렁크 작업을 계속하고 있고 얼마 후 v2.0이 나오네요.2.0이라는 태그를 생성하고 내 라이브 사이트가 이 2.0 태그와 유사하도록 만들고 싶습니다.

현재 라이브 사이트를 지우고 이 2.0 태그를 체크아웃할 수 있습니다.그러나 충분히 쉬운 것처럼 들립니다.내 사이트에는 모든 종류의 PDF 문서와 비디오가 포함되어 있기 때문에 크기가 약 1GB입니다.업데이트를 할 때 대부분 변경 내용을 복사하거나 버그를 수정하는 것이라고 자신 있게 말할 수 있습니다.이는 업데이트당 내 사이트의 변경 사항이 1%에 불과하다는 것을 의미합니다.그리고 내 버전 관리는 외부 http 연결을 통해서만 내 웹 서버에 액세스할 수 있으므로 전체 사이트를 계속해서 다시 다운로드해야 함을 의미합니다.

태그 간을 전환하고 Subversion이 해당 태그 간의 차이점만 업데이트하도록 하는 쉬운 방법이 있습니까?

도움이 되었습니까?

해결책

실제로 그렇게하는 스위치 기능이 있습니다. 전복을 위해 Windows Shell/GUI 인 TortisesVN을 사용하므로 수동으로 수행하는 방법에 익숙하지 않지만 도움이 될 것 같습니다.

http://svnbook.red-bean.com/en/1.1/ch04s05.html

다른 팁

명령줄:svn 스위치 URL

자세한 내용을 보려면 svn help 스위치를 사용하세요.

그러나 나는 그 반대의 일을 하는 것을 추천합니다.프로덕션 사이트는 항상 트렁크에 있으며, 릴리스 준비가 되면 다시 트렁크로 병합되는 브랜치에서 개발을 수행합니다.특정 릴리스 후에는 기록 목적으로 태그를 수행할 수 있습니다.병합 후 사이트에서 새 코드를 실행하려면 svn 업데이트만 수행하면 됩니다.

DivMod는 이 아이디어를 논리적인 결론으로 ​​끌어내어 작업 중인 각 이슈/티켓에 대한 분기를 만듭니다.당신은 할 수 있습니다 시스템에 대한 설명을 읽어보세요.;그것은 몇 가지 설득력 있는 주장을 제시합니다.

태그 대신 라이브 브랜치를 사용하는 것을 제외하고는 비슷한 설정을 사용합니다. 이제 트렁크에서 라이브 브랜치로의 변경 사항을 병합해야하기 때문에 더 많은 노력을 기울이고 있지만 Webroot에서 "SVN UP"을 수행하여 업데이트 할 수 있습니다. 또한 다른 지점에서 선택한 변경 사항을 라이브로 병합하려면 약간 더 나은 제어 기능을 제공합니다.

내가 다시하고 있다면, 지점이 훨씬 쉽게 유지하기가 훨씬 쉽기 때문에 Mercurial (또는 이와 유사한)을 사용할 것입니다. 그러나 위의 기술은 현재 약 2 년 동안 3 개의 라이브 사이트에서 작동했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top