2009-06-30 4 views
4

SVN 프로젝트가 있고 git-svn으로 복제하려고했습니다. 나는 git-svn docs의 예를 따랐다.git svn clone이 모든 디렉토리를 체크 아웃하지 않았습니다.

git svn clone svn+ssh://host/path/trunk project_name 

오류 메시지없이 완료되었지만 복제 된 프로젝트에 SVN의 프로젝트로 모든 디렉터리가 포함되어 있지 않습니다. 로컬 내가 가진 내 SVN 프로젝트가 최상위 수준에

, ... 복제 후

$ svn ls svn+ssh://host/path/trunk 
README 
Rakefile 
app/ 
config/ 
db/ 
doc/ 
lib/ 
log/ 
public/ 
script/ 
test/ 
tmp/ 
vendor/ 

, ...도없는 하위 디렉토리된다

README 
Rakefile 
app 
config 
doc 
public 
script 
test 

.


UPDATE는

실험적으로 같은 호스트의 다른 프로젝트를 복제. 잘 작동하는 것 같았습니다. 이것에 대해 특별한 점은 무엇입니까? 내가 복제본을 만들기 전에 SVN으로 가져 와서 가져온 것만 빼면 내가 생각할 수있는 것이 아무것도 없다. 차이가 있니?


완전히 새로운 프로젝트를 만들고 SVN으로 가져 와서 복제를 시도했습니다. 같은 결과를 얻었습니다. 같은 행방을 놓쳤습니다.

답변

11

경우 지금까지 내가 말할 수있는, 자식이없는 트랙 빈 디렉토리하지

, 디렉토리는 저장소에 추가 할 필요가되지 않습니다

, 스스로 추적 할 수 없습니다.

의미가 있습니까? 누락 된 디렉토리가 비어 있습니까?

+0

예, SVN에서 가져온 것이 아닌 빈 디렉토리였습니다. 감사. – Ethan

+0

잘 잡습니다. +1. – VonC

+0

나는 비슷한 문제가 있었다. 링크에 따르면, 망할 놈은 실제로 디렉토리를 추적하지 않습니다. 그것은 파일을 추적합니다. 따라서 디렉터리에있는 파일은 힘내라는 사실을 알지 못한다. – seanmrafferty

1

당신의 SVN이 svn:external (코멘트 참조)을 사용하고 있지 않습니까? 기사 "moving from svn to git"

svn-git에서 그 과정에
자세한 내용은 정말 가져 오는 외관을 지원하지 않는다는 것을 어떻게 든 당신을 경고해야한다.
svn log에 해당 파일의 체크 인이 없다는 사실을 알게 된 후 svn checkout 벤더/플러그인 디렉토리의 외부를 가져 오는 깨끗한 작업을했을 때 알았습니다.

그래서, 나는 vendor/plugins 디렉토리를 축 어적으로 잡아두고, 외부 참조를 떼어 내고 업그레이드 할 때 git submodules로 옮기기로 결정했다. 내가 정말하고 싶었지만 방법을 보지 않았다 어떤
는 , 나는 소스 위치 및 개정에 편리하게 참조 할 것이다 있도록하는 HTTP URL로 플러그인 코드를 참조하고 서브 모듈로 유지했다

+0

감사합니다. 나는 여기서 일어나지 않는다고 100 % 확실하다. 링크를 확인해 보겠습니다. – Ethan

+0

@Ethan : 좋아요, 나는 정보를 위해 게시물을 떠납니다. 근본 원인을 찾아 공식적인 답변으로 선택하면 자신의 답변을 게시 할 수 있습니다. – VonC

+0

도움을 주셔서 감사합니다. 나는 약간의 독서를해야하고 git이 어떻게 작동하는지 더 잘 이해할 필요가 있다고 생각합니다. – Ethan

1

당신은

svn2git

또는

git svn clone svn+ssh://host/path project_name --trunk=trunk/* 

가 자식의 1.6 깊은 복제의 형태가 시도 할 수 있습니다,하지만 난 모르겠어요

http://git.or.cz/gitwiki/GitFaq#CanIaddemptydirectories.3F :이 올바른 구문

+0

감사합니다. 나는 Github에서 svn2git를 체크 아웃했다. 나는 그것을 할 수있을 때 그것을 시도 할 것이다. – Ethan

관련 문제