2013-08-12 2 views
0

다른 팀에서 공유하는 SVN 서버가 있고 SVN에 커밋 할 새 프로젝트가 있습니다. 먼저Git SVN SVN에서 오류를 무시하고 경로가 존재하지 않습니다. (160013) : 파일 시스템에 항목이 없습니다

, 나는에 의해 망할 놈의 제어에 추가 :

git init 

그런 다음에 의해 힘내 모든 파일을 추가 :

git add . 

을 그리고, 커밋 모든 파일을하여 힘내하기 :

git commit -am "Initial Commit" 

다음으로 SVN과 연결합니다.

git svn init https://[email protected]_svn_server_host.com/svn/external/trunk/projectA/ 

여기서 projectA 폴더가 없습니다. 그런 다음 서버에서 업데이트를 가져 오려고합니다 :

git svn fetch 

오류가 발생했습니다.

W : 파일 시스템에는 항목이 없습니다 :는/usr/libexec 디렉토리/자식 코어/자식 - svn을 온라인에서 찾을 수 없습니다 '!/SVN/외부/SVN/BC/5060/트렁크/PROJECTA' 경로를 1801

W : SVN에서 무시 오류가 경로는 아마 존재하지 않습니다 : (160013)를 : 파일 시스템은 어떤 항목이 없습니다 : 찾을 수 없음 '!/SVN/외부/SVN/BC/5060/트렁크/PROJECTA' 경로를

W : 위의 메시지에 놀라지 마십시오. git-svn은 과거 기록을 적극적으로 검색하는 것입니다. 입니다. 이 큰 저장소

그럼 난 dcommit 시도에 시간이 걸릴 수 있습니다 :

git svn dcommit 

를 다음에, 제공 :

Unable to determine upstream SVN information from HEAD history. 
Perhaps the repository is empty. at /usr/libexec/git-core/git-svn line 541. 

나는 무엇을 그리워 했습니까?

내가 맥 OS X 10.7 사용하고

, MacPorts를 2.2.0

UPDATE :

# git init 
Initialized empty Git repository in /Users/path/to/my/projectA/.git/ 
# git checkout -b "mychanges" 
fatal: You are on a branch yet to be born 
# git checkout master 
error: pathspec 'master' did not match any file(s) known to git. 

아차 : @에 웨스의 대답에 따르면, 여기 결과입니다! 작동하지 않는 것 같습니다.

답변

0

정말 그렇게 할 수 없습니다. git svn은 선형 히스토리가 있어야합니다 (ok, git does not; svn 그 자체). 따라서 모든 자식 작업은 svn 커밋 트리의 끝에서 끝나야합니다.

올바른 작업은 git svn clone을 먼저 사용하여 원격 저장소를 미러링 한 다음 체크 아웃 한 버전을 커밋하고 git dcommit을 실행하는 것입니다.

예, 다른 방법이 있지만 위에서 수행하는 방식으로는 원격 콘텐츠를 가져 오기 전에 커밋을 수행하므로 작동하지 않습니다.방금 원격에서 버전으로 기존의 모든 변경 내용을 추가하려는 경우

, 당신은 이런 식으로 할 아마 수 : 검증되지 않은입니다

# git init 
# git checkout -b "mychanges" 
# git checkout master 
# git svn init .... 
# git svn fetch 
# git checkout mychanges 
# git rebase master 
# git checkout master 
# git merge --ff-only mychanges 
# git dcommit 

을, 그러나 당신이 원하는 일을해야한다.

+0

처음 몇 단계를 시도했습니다. 내 편집 질문을 참조하십시오. – Raptor