문제

우리 회사는 인터넷 연결이 느린 자회사를 보유하고 있습니다. 우리의 개발자들은 우리의 중앙과 상호 작용하기 위해 고통 받고 있습니다 파괴 섬기는 사람. 그들을 위해 슬레이브/거울을 구성 할 수 있습니까? 서버와 로컬로 상호 작용하며 모든 커밋은 자동으로 마스터 서버와 동기화됩니다.

이것은 개발자에게 최대한 투명하게 작동해야합니다. 유용성은 필수입니다.

버전 제어 시스템을 변경할 제안은 없습니다.

도움이 되었습니까?

해결책

HTTP를 사용하여 저장소를 호스팅 할 때 Subversion 1.5가 도입되었습니다. 개발자는 노예에서 작업 사본을 확인할 수 있습니다. 그런 다음 모든 읽기 전용 작업 (Diff, Log, Update 등)이 슬레이브를 사용합니다. 커밋 할 때 노예는 모든 쓰기 작업을 마스터에게 투명하게 전달합니다.

다른 팁

가능하지만 반드시 간단하지는 않습니다. 해결하려는 문제는 SVN이 설계 한 것이 아닌 분산 개발 환경을 설정하는 데 위험합니다.

SVN-Mirror 방식

당신이 사용할 수있는 svn mirror SVN 책 문서에 설명 된 바와 같이 읽기 전용 마스터 저장소의 거울. 개발자는 각각 가장 가까운 거울과 상호 작용합니다. 그러나 노예 저장소 사용자는 사용해야합니다.

SVN 스위치 -Relocate Master_url

그들이 커밋하기 전에, 그들은 끝이 끝나면 노예를 다시 이주하는 것을 기억해야 할 것입니다. 명령 줄 클라이언트를 사용하는 경우 SVN의 저장소 수정 명령 주변의 래퍼 스크립트를 사용하여 자동화 될 수 있습니다. 빠른 속도로 재배치 작업은 약간의 오버 헤드를 추가합니다. (그리고 저장소 UUID를 복제하도록주의하십시오 - SVN 문서.)

편집 - 확인 거북이 문서화는 당신이 거북이를 가질 수있는 것 같습니다 후크 스크립트 클라이언트 측을 실행합니다. 이 시점에서 사전/게시물 커밋 스크립트를 만들 수 있습니다. 그 중 하나 또는 사용할 수 있는지 확인하십시오. TortoisesVN 자동화 인터페이스 그것을하기 위해].

SVK 방식

SVK SVN을 통해 분산 미러링 서비스를 모방하는 Perl 스크립트 세트입니다. 지역 지점 (거울)이 여러 개발자가 공유하도록 설정할 수 있습니다. 그러면 개발자의 기본 사용이 완전히 투명해질 것입니다. Cherry Picking, Merging 및 Starmerging에 SVK 클라이언트를 사용해야합니다. 분산 된 개념을 둘러 볼 수 있다면 가능합니다.

git-svn way

내가 직접 사용하지는 않았지만 먼 개발자가 GIT를 로컬로 사용하고 git-svn 동기화를위한 게이트웨이.

마지막 단어

그것은 모두 개발 환경과 필요한 통합 수준에 달려 있습니다. IDE에 따라 (그리고 변경할 수 있다면 scm) 다른 완전히 분산 된 SCM을 살펴 보는 것 같습니다 (생각하십시오. 수은제/바자/git/...) 박스에서 분산 개발을 지원합니다.

당신은 시도해야합니다 SVK 버전 제어 시스템

SVK 강력한 파괴 파일 시스템으로 구축 된 분산 버전 제어 시스템입니다. 저장소 미러링, 연결이 끊긴 작업, 기록에 민감한 병합을 지원하며 다른 버전 제어 시스템과 인기있는 Visual Merge 도구와 통합됩니다.

이 링크에는 텍스트가 있습니다 SVK를 사용하여 SVN 리포지토리를 동기화합니다

저장소 중 하나가 완전히 읽는 경우 마스터 리포지토리와 함께 최신 상태로 유지하기 위해 'SVNSYNC'를 사용할 수 있습니다. 이 도구는 종종 프록시 지원과 함께 사용하여 마스터 슬레이브 설정을 만듭니다.

예를 들어 Apache는이 작업을 수행하여 저장소를 다른 대륙으로 반영합니다. 마스터 repostitory는 미국에 있지만 EU의 저장소에 액세스하면 마스터 서버뿐만 아니라 로컬 미러를 얻습니다.

Inotify-Tools는 나에게 잘 작동합니다. 세부 사항은이 웹 사이트에 언급되어 있습니다.

http://planet.admon.org/synchronize-subversion-repositories-with-inotify-tools/

SVNSYNC가 "지하 다중 사이트"라고하는 것 이상의 성능 및 데이터 안전이 필요한 경우, Subversion 리포지토리의 진정한 활성 활성 활성 복제 (마스터 슬레이브가 아님)를 제공하는 상용 솔루션이 있습니다.

면책 조항 :이 솔루션을 만드는 회사에서 일합니다.

VisualSVN 서버 멀티 사이트 리포지토리 복제 이 경우에 설계되었습니다.

메인 사무실에 마스터 저장소를 유지하고 원격 위치에 여러 서면 슬레이브 리포지토리를 설정할 수 있습니다.

이것은 개발자에게 최대한 투명하게 작동해야합니다. 유용성은 필수입니다.

  • 노예와 마스터 사이의 복제는 투명하고 자동입니다.

  • 각 마스터 및 슬레이브 리포지토리는 사용자의 관점에서 쓰기 가능한 전복 저장소입니다.

  • Box 외부에서 작동하며 VisualSVN 서버 관리자 MMC 콘솔을 통해 몇 번의 클릭으로 구성 할 수 있습니다.

VisualSVNServerManagerConsoleMultisite

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