2013-08-26 2 views
2

내 SVN 서버가 방금 다이빙을했습니다. 나는 백업을 가지고 있지만이 실패는 실제로 Git 로의 마이그레이션을 돕는다. 나는 repo의 로컬 사본을 체크 아웃했다 ... 문제는 백업을 복구하는 모든 문제를 겪지 않고도 나의 6k 커밋 히스토리를 잃지 않고 Git으로 저장소를 마이그레이션 할 수 있기를 희망한다. ..Svn 서버가 죽었습니다 ... 여전히 Git으로 변환 할 수 있습니까?

나는 케이크를 먹을 수 있습니까? 아니면 백업을 해독해야하나요?!

답변

4

백업 방식에 따라 백업에서 SVN 디렉토리를 가져와 git으로 변환하는 데 사용할 수 있습니다.

전체 서버/백업을 복원하지 않아도 기록을 변환 할 수 있습니다.

편집 : SVN 디렉토리에 액세스하는 방법에 대한 자세한 정보.
체크 아웃 된 SVN 디렉토리를 명확히하기 위해 히스토리를 포함하지 마십시오.
기록을 가져 오려면 서버에있는 SVN 저장소 디렉토리가 필요합니다. 이 디렉토리에는 적어도 conf, db 디렉토리 및 format 파일이 포함됩니다.

(서버에서)에 SVN 디렉토리가 어떤 SVN 명령을 사용하여이 파일에 대해 직접적으로하실 수 있습니다만큼 오래 : // 대신 SVN의 : // 또는 SVN + SSH : 대한 // URI

예 SVN을 git으로 변환 :
More about converting SVN to git

+0

예, 나는 이렇게 갈 것입니다. file : // - URL은 성공의 비밀입니다. 그것도 변환하는 것이 훨씬 빠릅니다. –

+0

이것은 매우 유망한 것 같습니다! 파일 시스템 백업으로이 작업을 수행 할 수 있습니까, 아니면 svn에서 "Hotbackup"을 수행해야합니까? 그것은 svn hotbackup, 그냥 파일 시스템 백업이없는 것 같습니다 ... – jacobfogg

+0

@jacobfogg 그냥 (서버에서) SVN 디렉토리를 가지고 피터 언급 파일을 사용합니다 :// 예 *에 * nix에 URI를 :'git svn clone file : /// 복원/svnservdir optional_git_dir' – NiKiZe

3

내 생각 엔이 '아니오'

... 아니, 로컬 복사본은 커밋 히스토리가 포함되어 있지 않습니다. 원하는 경우 백업에서 복원해야합니다.

+1

특히 * 서버의 * 백업에서 복원해야합니다. –

관련 문제