문제

간단한 문제처럼 보입니다.

  • 방화벽 안에 SVN 리포지토리가 있습니다.
  • 방화벽 외부에 SVN 리포지토리가 있습니다.
  • 방화벽 내부와 외부의 사용자가 있습니다. (vpn이 옵션이 아닙니다 :( 너무 쉬워요)
  • 방화벽 내부의 기계는 외부 SVN 서버와 대화 할 수 있습니다. 그러나 다른 방법은 아닙니다.
  • 외부 SVN은 일시적인 것입니다. 메인 리포는 항상 내부에 있습니다.

나는 어쨌든 (내부에서, 아마도 대부분) 하나의 모든 변화를 가져 와서 다른 변화에 적용하고 싶습니다. 그 반대. 간단하게 들리며 좋아하는 Git 이이 작업을 수행 할 수 있다고 가정하지만 SVN을 사용하고 있습니다.

누구 든지이 일을 했어? 나는 그것이 수동 프로세스라고 생각하지 않습니다. 외부 사람들은 몇 명 뿐이며, 하루에 2 ~ 3 회 업데이트가 필요하지 않습니다.

Apache.org 가이 작업을 수행한다고 생각하지만이 작업을 수행하는 방법에 대한 문서를 찾을 수 없습니다. 거기에는 몇 가지 제품이 있습니다 (음, 하나). 그러나 누군가가 그들없이 그것을 할 수있는 멋지고 깨끗한 방법을 가지고 있는지 알고 싶습니다. svnsync는 이것을 한 방향 (마스터 슬레이브)으로 만 수행합니다.

Windows, Linux 또는 Mac에서 실행하게되어 기쁩니다. 그러나 Windows와 Mac은 선호했습니다.

돕다! :) :)

업데이트] 12 개월 동안 엉망이 된 후 (결국에는 필요하지 않음) 정답은 제 생각에 정확합니다. git을 사용-SVN-A에서 가져 오는 하나의 repo를 사용한 다음 새 GIT repo로 밀고 SVN-B로 밀어 넣으십시오. 작동해야합니다 :)

도움이 되었습니까?

해결책

추천합니다 SVK 또는 git-svn.

이 두 가지를 사용하면 SVN 저장소의 외부 미러를 만들 수 있으며 외부 개발자가 외부 미러로 직접 커밋 할 수 있습니다. 그런 다음이 외부 미러에서 내부 마스터 리포로 변경하여 변경할 수 있습니다.

Git-Svn은 외부 개발자가 GIT를 사용하도록 요구할 것입니다. 나는 그것을 선호하지만, 나는 이것을 다른 사람들에게 밀기를 꺼려 할 것입니다.

그러나 SVK를 사용하면 외부 개발자가 SVN을 계속 사용할 수 있습니다. 내부 리포는 내부적으로 만 액세스 할 수 있으므로 내부 계정 또는 사용자는주기적인 동기화를 처리해야합니다 (CRON 작업은 아마도 작동 할 것입니다).

SVK Wiki의 확장 된 Howto는 다음과 같습니다. idersvkasarepositorymirroringsystem

다른 팁

단순성은 일반적으로 가장 좋은 방법이며 이미 간단한 솔루션이있는 것처럼 들립니다. 방화벽 외부의 SVN 저장소를 사용하십시오.

당신은 이미 방화벽 내부의 기계가 그것을 도달 할 수 있다고 말했으며 분명히 외부의 기계에 도달 할 수 있다고 말했습니다. 그래서 모든 사람이므로 방화벽 내부의 두 번째 SVN 저장소에 대해 어떤 정당성이 있습니까? 백업 인 경우 외부에서 백업을 백업하십시오.

요구 사항의 일부가 누락 된 경우 알려주세요.

또 다른 생각 ... 내부 및 외부 SVN 인스턴스를 모두 가지고 있다면 ... 다른 목적으로 동시에 동일한 변경 사항 ID를 제공하는 것은 무엇입니까? 중앙화 된 솔루션을 찾고 있다면 찾아야합니다. git SVN보다는.

VisualSVN 서버의 Enterprise Edition의 기능 중 하나는 멀티 사이트 리포지토리 복제 그것은 당신이 찾고있는 것을 정확히합니다.

이 기능은 지리적으로 분산 된 사이트에서 투명한 전복 저장소 복제를 가능하게하도록 설계된 VisualSVN 분산 파일 시스템 (VDFS) 기술을 기반으로합니다. VDFS의 주목할만한 기능 중 일부 :

  • 분산 된 모든 VDFS Subversion 리포지토리는 쓰기 가능하며
  • VDFS는 투명한 양방향 데이터 복제를 가능하게합니다.
  • VDFS는 보안 SSL/TLS 암호화와 통합 Windows 인증 (NTLM/협상)과 같은 고급 인증 메커니즘을 지원합니다.
  • 모든 VDFS 리포지토리에는 동일한 데이터 세트가 포함되어 있습니다.
  • VDFS를 사용한 WAN에 대한 저장소 복제는 Write-Strough Proxy를 기반으로 복제보다 최대 x10이 더 빠릅니다.
  • VDFS 구성은 복잡한 단계없이 그래픽 인터페이스를 통해 수행됩니다.

VDFS는 클래식을 따른다는 점은 주목할 가치가 있습니다 주인 노예 상당한 장점을 가진 복제 모델 마스터 마스터 복제 모델은 FSFS FS- 타입 백엔드를 사용하여 파괴 리포지토리를 복제하는 데 더 적합하기 때문입니다. VDFS 기술은 SVN 용 마스터 마스터 복제 솔루션보다 훨씬 신뢰할 수 있습니다.

VDFS configuration interface for multisite Apache SVN repos

흠 ... 두 개의 저장소를 서로 동기화하는 것은 사소한 일이라고 생각합니다. 기본적으로 SVN을 Mercurial 또는 Git으로 전환하는 것이 포함됩니다.

가장 원활하고 확장 가능한 솔루션은 SVNSYNC를 사용한 마스터/슬레이브 복제입니다. http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.serverconfig.httpd.extra.writethruproxy

시도 할 수있는 한 가지는 파일 레벨에서 리포를 복제하는 것입니다. 나는 폴더 스마를 사용하고있다 (http://www.foldershare.com - 유사한 시나리오의 경우 Windows 및 Mac에서 실행됩니다. 그러나 백업 목적으로 만 복제하고 SVN을 사용하여 복제본에 연결하려고 시도하지 않았습니다.

http://wandisco.com/subversion/multisite/

Subversion Multisite는 Wandisco의 고유 한 복제 기술을 활용하여 WAN (Wide Area Network)에 연결된 Subversion 리포지토리를 즉시 동기화합니다. 모든 위치의 사용자는 읽기 및 쓰기 작업 모두에 대한 LAN (Local Area Network) 속도 성능을 경험합니다. Subversion Multisite는 또한 재해 복구를 자동화하는 지속적인 핫 백업 및 자체 치유 기능을 제공하므로 가동 중지 시간이 사실상 제거됩니다.

svnsync를 사용하여 마스터/슬레이브 복제에 대한 단계별 설명을 검색하는 경우 http://lasanthals.blogspot.com/2012/09/main-steps-of-configuring-svn_4.html

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