문제
Subversion 저장소에서 git-svn을 사용하여 얕은 사본을 작성하는 방법, 예를 들어 마지막 세 개의 개정 만 가져 오는 방법은 무엇입니까?
git clone
이 옵션을 사용하면 명령은 Git 저장소에서 마지막 n 버전을 얻을 수 있습니다 --depth
, 당신은 저장소의 단순 복사본을 얻을 즉. 예:
git clone --depth 3 git://some/repo myshallowcopyrepo
git-svn에 비슷한 옵션이 있습니까?
지금까지 나의 발견
지금까지 나는 개정판을 -rN
어디 N
에서 가져올 지 옵션을 찾았습니다 . 예:
git svn clone -rN svn://some/repo
설명서에 따르면 사용할 가능성이 있습니다 -r$REVNUMBER:HEAD
. 오류 메시지를 반환 한 마지막 3 개정을 얻으려면 다음을 시도했습니다.
$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn
그래서 나는 HEAD~3
세 번째이지만 마지막 개정 534의 실제 수로 교체 했습니다. 그것은 효과가 있었지만, 먼저 세 번째이지만 마지막 커밋의 개정 번호를 알아야합니다.
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
선적 서류 비치
--depth
하기 가 얼마나 어려울 git svn
까요. 그리고 이미 서버에서 최신 버전을 찾아야합니까?
-s is for --stdlayout which presumes the svn recommended layout for tags, trunk, and branches.
(하지만 나를 위해 작동하지 않았다)