2017-01-03 22 views
-1

現在、svnソース管理プロジェクトをGit(BitBucket)に移行しています。SVNからGitへの移行。標準以外のSVNレイアウトをGitに移行する方法

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

私はSVNのレイアウトは標準ではないため、これがあると信じて:コマンドGitのプッシュ-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 

しかし、私は進行し、ビットバケットにレポをプッシュする方法を見つけ出すことはできません。どんな助けでも大歓迎です!

それはまた、私は、コマンドgitのプッシュ原点マスターを試してみましたが、以下のエラーを受け取ったことは注目に値する:

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

私が発見した前の質問の例はhereです。しかし、これは助けに見えませんでした。おそらく私は何か間違っているのでしょうか?

  • のjava -jar/SVN-移行スクリプトを確認/svn-migration-scripts.jar -jar

    1. のjava:以下

      は、上記の最初のエラーを取得するための実行中にコマンドです.jar authors svn:// svn-project/projExample> authors.txt
    2. 現在のユーザー名&と一致するようにauthors.txtファイルを編集します。
    3. git svnクローン--trunk =/main --branches =/branches/Sprints/Iteration_1 - ブランチ= /ブランチ/スプリント/ Iteration_2 - タグ= /タグ--authors-file = authors.txt svn:/SVNプロジェクト/ projExample projExampleクリーン-gitの/svn-migration-scripts.jar
    4. のjavaの-Dfile.encoding = UTF-8 -jar
    5. のgitのsvnは
    6. のjavaの-Dfile.encoding =をフェッチ--force UTF-8 -jar /svn-migration-scripts.jar同期リベース
    7. のjavaの-Dfile.encoding =
    8. のgit --force UTF-8 -jar /svn-migration-scripts.jarクリーン-gitがリモート追加します起源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. 
    

    :私は行ってきましたコマンドは、より多くのこのようなものでした!

    以下は、SVNをGitリポジトリと同期させるのに必要なコマンドです。基本的に原点/トランクとマスターをマージしてからプッシュする必要があります

    git svn fetch 
    git merge origin/trunk 
    git push origin master 
    
    関連する問題