2010-04-08 1 views
0

처음에는 Subversion을 사용했지만 원격 저장소가 제거되어 더 이상 Subversion을 사용하지 않으려는 프로젝트를 만들고 있습니다. 나는 그것을 git로 옮기고 싶다.SVN에서 GIT로 마이그레이션하는 방법 로컬로

원격 저장소가 없으면 모든 수정 내역을 유지하는 방법이 있습니다 (git init .하지 않고)?

나는 이미 다른 프로젝트에서 문제없이 git-svn으로이 Subversion을 만들었지 만 원격 저장소에 있었기 때문에 로컬로 마이그레이션하는 것에 대한 정보를 찾을 수 없다.

답변

5

Subversion은 Git과 다르지만 작업 폴더에 저장소를 유지하지 않으므로 마이그레이션 할 수 없습니다.

새 저장소를 만들고 새 코드 인 것처럼 체크인해야합니다.

1

원격 저장소없이 할 수있는 방법은 모든 개정 기록을 유지있다 (자식 초기화를하지 않고.)?

짧은 대답 : 아니오.

는 자식과는 달리, 서브 버전 서버에 역사 모든 버전을 저장 의미하는 중앙 버전 관리 시스템입니다.

는 대조적으로, 버전 제어 자식 같은 시스템 mercurial 또는 bazaar 스토어 모든 수정 기록 로컬 분산. 후자의 경우 실제로 저장소를 상대적으로 쉽게 가져 오거나 내보낼 수 있습니다. 전자의 경우 서버의 존재가 필요합니다.

0

"svn switch --relocate"to the rescue [1].

우선 일반 서버에 임시 svn 저장소를 설정 한 다음 '로컬'svn 저장소 (작업 복사본이라고도 함)를 해당 서버로 재배치하고 거기에 커밋 한 다음 git-svn live를 사용합니다. 전에 해봤 어.


이 제거 된 원격 Subversion 저장소의 적절한 백업에 당신의 손을 얻기 위해 관리하는 경우 [1] http://webkit.org/blog/97/svn-repository-location-change/

+0

모든 수정 내용이 * 원래 * 서버에 보관되어 있기 때문에 유지되지 않습니다. 이 커밋에는 최신 커밋 만 있습니다. 따라서 git-svn은 하나의 개정판 만 다운로드합니다. –

0

에만 Subversion을 기록에서 정보를 유지할 수 있습니다.

그렇지 않으면 기록이 손실되고 처음부터 다시 시작하면됩니다.

서버에 SVN 저장소 파일의 rsync 사본과 같은 백업이있는 경우 file:// URL을 통해 로컬 SVN 저장소에 복사하여 로컬로 변환 할 수 있습니다 (예 : git svn). 특별한 SVN 서버 설정.