2013-02-19 5 views
1

여러 사이트가 있으며 하나의 중앙 집중식 Subversion 저장소를 사용하고 있습니다.사이트 간 소스 관리

저장소가 크고 네트워크 대역폭으로 인해 사이트간에 소스를 가져 오는 데 몇 시간이 걸립니다.

조언 하시겠습니까? 하나의 옵션은 힘내 사용하는 것입니다하지만 그것은 매우 비쌀 수 있습니다. 메인 사이트에 하나의 중앙 SVN 저장소가 있고 작은 사이트에 자식을 설치 한 다음 git-svn conduit을 사용할 수 있습니까?

+1

git를 비싼 가격으로 사용하는 이유는 무엇입니까? –

+1

@James Reed, 비싼 가격이 될 수 있다고 말하는 것이 좋을 것입니다. – yart

+1

"사이트간에 소스를 가져 오는 데 몇 시간이 걸립니다"라는 의미는 무엇입니까? 어느 Subversion 명령이 느린가요? – AlexMA

답변

3
  1. 1.7 버전 이상의 Subversion 서버 및 클라이언트를 사용하고 있는지 확인하십시오. 버전 1.7은 특히 http (s) : // 프로토콜에 대한 특정 성능 향상을 도입했습니다.

  2. git-svn은 표준 SVN 프로토콜을 사용하므로 Subversion 서버와의 통신 속도를 수정하지는 않습니다.

    그러나 Git 작업의 대부분은 로컬이므로 사용자는 서버와 더 자주 상호 작용해야합니다. 기본적으로이 경우에는 느린 명령이 두 개 있습니다 : git svn dcommitgit svn fetch.

  3. SVN 저장소에 SubGit을 사용해보세요. SubGit은 SVN과 Git 저장소간에 서버 측 동기화를 수행하며 SVN 및 Git 측은 모두 쓰기 가능 상태를 유지합니다.

    installed SubGitsetup Git server을 사용하면 변경 사항을 가져오고 푸시하기 위해 순수 Git을 사용할 수 있습니다. on on git push SubGit은 커밋을 SVN 리비전으로 변환하고 모든 svn commit에 커밋 된 리비전을 힘내 커밋으로 변환합니다.

    이 경우 Git 프로토콜을 사용하고있어 속도가 크게 향상 될 수 있습니다.

    SubGit에 대한 자세한 내용은 documentationcomparison with git-svn을 참조하십시오.

    면책 조항 : SubGit은 상업용 소프트웨어입니다. 저는 SubGit 개발자 중 한 명입니다. 하나와

    당신이 끝날 것이다 : 당신이 순수하게 파괴 툴체인을 고수 할 경우

0

, 다음을 수행 들여다 중앙 저장소의 마스터 리포지토리 및 각 사이트의 읽기 전용 미러 복사본이 필요합니다. 해당 사이트의 사용자는 로컬 미러에서 체크 아웃합니다.

그런 다음 Write-Through 프록시를 사용하여 해당 미러를 구성하면 커밋이 마스터 리포지토리로 다시 푸시됩니다.

각 커밋 후에 리포지토리는 svnsync을 사용하여 해당 리비전을 미러로 푸시합니다.

여전히 너무 느린 경우 WanDisco SVN MultiSite을 조사해야 할 수 있습니다.

0

Multisite Repository Replication을 VisualSVN 서버로 시도 할 수 있습니다.

멀티 사이트 저장소 복제를 사용하면 다른 원격 위치에 설치된 여러 개의 슬레이브 저장소를 사용하여 기본 사이트에서 마스터 저장소를 설정할 수 있습니다. 슬레이브와 마스터 간의 양방향 데이터 복제는 투명하고 자동적이며, 각 슬레이브와 마스터는 쓰기 가능하며 클라이언트 관점에서 일반 Subversion 저장소로 작동합니다.