여러 사이트가 있으며 하나의 중앙 집중식 Subversion 저장소를 사용하고 있습니다.사이트 간 소스 관리
저장소가 크고 네트워크 대역폭으로 인해 사이트간에 소스를 가져 오는 데 몇 시간이 걸립니다.
조언 하시겠습니까? 하나의 옵션은 힘내 사용하는 것입니다하지만 그것은 매우 비쌀 수 있습니다. 메인 사이트에 하나의 중앙 SVN 저장소가 있고 작은 사이트에 자식을 설치 한 다음 git-svn conduit을 사용할 수 있습니까?
여러 사이트가 있으며 하나의 중앙 집중식 Subversion 저장소를 사용하고 있습니다.사이트 간 소스 관리
저장소가 크고 네트워크 대역폭으로 인해 사이트간에 소스를 가져 오는 데 몇 시간이 걸립니다.
조언 하시겠습니까? 하나의 옵션은 힘내 사용하는 것입니다하지만 그것은 매우 비쌀 수 있습니다. 메인 사이트에 하나의 중앙 SVN 저장소가 있고 작은 사이트에 자식을 설치 한 다음 git-svn conduit을 사용할 수 있습니까?
1.7 버전 이상의 Subversion 서버 및 클라이언트를 사용하고 있는지 확인하십시오. 버전 1.7은 특히 http (s) : // 프로토콜에 대한 특정 성능 향상을 도입했습니다.
git-svn
은 표준 SVN 프로토콜을 사용하므로 Subversion 서버와의 통신 속도를 수정하지는 않습니다.
그러나 Git 작업의 대부분은 로컬이므로 사용자는 서버와 더 자주 상호 작용해야합니다. 기본적으로이 경우에는 느린 명령이 두 개 있습니다 : git svn dcommit
및 git svn fetch
.
SVN 저장소에 SubGit을 사용해보세요. SubGit은 SVN과 Git 저장소간에 서버 측 동기화를 수행하며 SVN 및 Git 측은 모두 쓰기 가능 상태를 유지합니다.
installed SubGit 및 setup Git server을 사용하면 변경 사항을 가져오고 푸시하기 위해 순수 Git을 사용할 수 있습니다. on on git push
SubGit은 커밋을 SVN 리비전으로 변환하고 모든 svn commit
에 커밋 된 리비전을 힘내 커밋으로 변환합니다.
이 경우 Git 프로토콜을 사용하고있어 속도가 크게 향상 될 수 있습니다.
SubGit에 대한 자세한 내용은 documentation 및 comparison with git-svn을 참조하십시오.
면책 조항 : SubGit은 상업용 소프트웨어입니다. 저는 SubGit 개발자 중 한 명입니다. 하나와
당신이 끝날 것이다 : 당신이 순수하게 파괴 툴체인을 고수 할 경우
, 다음을 수행 들여다 중앙 저장소의 마스터 리포지토리 및 각 사이트의 읽기 전용 미러 복사본이 필요합니다. 해당 사이트의 사용자는 로컬 미러에서 체크 아웃합니다.
그런 다음 Write-Through 프록시를 사용하여 해당 미러를 구성하면 커밋이 마스터 리포지토리로 다시 푸시됩니다.
각 커밋 후에 리포지토리는 svnsync
을 사용하여 해당 리비전을 미러로 푸시합니다.
여전히 너무 느린 경우 WanDisco SVN MultiSite을 조사해야 할 수 있습니다.
Multisite Repository Replication을 VisualSVN 서버로 시도 할 수 있습니다.
멀티 사이트 저장소 복제를 사용하면 다른 원격 위치에 설치된 여러 개의 슬레이브 저장소를 사용하여 기본 사이트에서 마스터 저장소를 설정할 수 있습니다. 슬레이브와 마스터 간의 양방향 데이터 복제는 투명하고 자동적이며, 각 슬레이브와 마스터는 쓰기 가능하며 클라이언트 관점에서 일반 Subversion 저장소로 작동합니다.
git를 비싼 가격으로 사용하는 이유는 무엇입니까? –
@James Reed, 비싼 가격이 될 수 있다고 말하는 것이 좋을 것입니다. – yart
"사이트간에 소스를 가져 오는 데 몇 시간이 걸립니다"라는 의미는 무엇입니까? 어느 Subversion 명령이 느린가요? – AlexMA