2017-01-03 6 views
-1

현재 svn 소스 제어 프로젝트를 Git (BitBucket)으로 마이그레이션하는 중입니다.SVN에서 자식 마이그레이션으로. Git에 비표준 SVN 레이아웃을 마이그레이션하는 방법

No refs in common and none specified; doing nothing. 
Perhaps you should specify a branch such as 'master'. 
Everything up-to-date. 

내가 SVN 레이아웃은 표준이 아니기 때문에이 믿고 : 명령 자식 푸시 -u 기원 --all을 실행할 때 나는 guide by Atlassian 따라 거의 끝 부분에 도착하지만, 다음과 같은 오류가 발생했습니다 형세. 그래서 같은 트렁크, 지점 및 태그를 지정해야했다 :

git svn clone --trunk=/main --branches=/branches/Sprints/Iteration_1 --branches=/branches/Sprints/Iteration_2 --tags=/tags --authors-file=authors.txt svn://svn-project/projExample projExample 

하지만 진행과의 Bitbucket에 REPO를 밀어하는 방법을 알아낼 수 없습니다. 어떤 도움이라도 대단히 감사하겠습니다!

그것은 또한 내가 명령 자식 밀어 원산지 마스터을 시도하고 아래의 오류가 발생했음을 주목할 필요가있다 :

error: src refspec master does not match any. 
error: failed to push refs to '[my bitbucket origin]'. 

내가 찾은 이전 질문의 예는 here이다. 그러나 이것은 도움이되지 않았다. 아마도 내가 잘못하고있는 것일까 요?

  • 자바 -jar/SVN-마이그레이션 스크립트를 확인 /svn-migration-scripts.jar -jar

    1. 자바 : 아래

      는 위에서 설명한 초기 오류에 도착하기 위해 실행의 명령입니다 .jar authors svn : // svn-project/projExample authors.txt
    2. authors.txt 파일을 편집하여 현재 사용자 이름 &과 일치하도록합니다.
    3. git svn clone --trunk =/main --branches =/branches/Sprints/Iteration_1 --branches =/branches/Sprints/Iteration_2 - 태그 =/태그 --authors-file = authors.txt svn :
    4. 자바 -DFile.encoding = UTF-8 -jar /svn-migration-scripts.jar 클린 자식이 --force
    5. 자식 SVN 페치/svn을 프로젝트/projExample projExample
    6. 자바 -Dfile.encoding =
    7. 자식 원격 추가
    8. 자바 -Dfile.encoding = UTF-8 -jar /svn-migration-scripts.jar 클린 자식 --force UTF-8 -jar /svn-migration-scripts.jar 싱크 리베이스 원산지 https://[email protected]/projExample.git
    9. git push -u origin --all
    10. 아무 일도 일어나지 않습니다.
  • 답변

    0

    많은 시행 착오 끝에 여기서 사용 된 SVN 구조가 너무 복잡하다는 결론에 도달했습니다. 명령을

    git svn clone --trunk=main --branches=branches/*/* --tags=tags/* --authors-file=authors.txt svn://svn-project/projExample projExample 
    

    로 업데이트했는데 문제가 해결되었지만 실행하는 데 7 일이 걸렸습니다. 이것은 구조가 너무 복잡하다는 것을 보여줍니다!

    결과적으로 이력을 성공적으로 추가했지만 필수 분기를 만들지 않은 트렁크로 최신 코드가 포함 된 svn 분기를 사용하기로 결정했습니다. 나는 명령이 2 시간 이내에 달릴 것 인만큼 이것이 충분했다라고 정했다.내가 갔다 명령은보기 다음과 같습니다이었다

    git svn clone --trunk=branches/Sprints/Iteration_2 --authors-file=authors.txt svn://svn-project/projExample projExample. 
    

    나는 그것이 신속하고 일을 나는 위의 명령에 대한 바로 가기로 말할 것이에 다른 사람을 조언 한 경우!

    다음은 Git repo와 SVN을 동기화하는 데 필요한 명령입니다. 기본적으로 원점/트렁크 및 마스터를 병합 한 다음 푸시해야합니다.

    git svn fetch 
    git merge origin/trunk 
    git push origin master