2016-12-19 9 views
1

svn2gitユーティリティ(https://github.com/nirvdrum/svn2git)を使用してsvnからgitに移行しようとしています。このユーティリティは、以下のエラーが発生するたびに失敗するようです。誰かが同じエラーを見たことがあるか、より良い選択肢があれば、共有してください。svn2git - コマンドが失敗しました - エラー:pathspec 'master'がgitに既知のファイルと一致しません

コマンド
svn2git https://xyz.xyz.com/svn/svnrepo/ --verbose --authors authors.txt

コンソール出力

Running command: git svn init --prefix=svn/ --no-metadata --trunk='trunk' --tags 
='tags' --branches='branches' https://xyz.xyz.com/svn/svnrepo/ 
Running command: git config --local --get user.name 
Running command: git config --local svn.authorsfile authors.txt 
Running command: git svn fetch 
Running command: git branch -l --no-color 
Running command: git branch -r --no-color 
Running command: git config --local --get user.name 
Running command: git config --local --get user.email 
Running command: git checkout -f master 
error: pathspec 'master' did not match any file(s) known to git. 
command failed: 
git checkout -f master 

P.S.私のSVNリポジトリのURLも正しいです、それはトランクの真上です。私はWin7の64ビットマシンでこれを試しています。

ありがとうございます!

+0

git repoにマスターブランチがありますか? –

+0

いいえ、私はsvn repoを作成し、新しいgit repoをローカルで初期化する必要があります。 –

+0

あなたは解決策を見つけましたか?私は同じ問題:( – MychaL

答えて

1

svn2gitと呼ばれるプレニーツールがありますが、おそらく最も良いのはhttps://github.com/svn-all-fast-export/svn2gitのKDEです。そのsvn2gitツールを使用することを強くお勧めします。それは私がそこで利用できると知っている最高です、そして、それはあなたがそのルールファイルでできることに非常に柔軟です。

あなたが使用svn2gitツールはgit-svnに基づいており、git-svnはないリポジトリまたはリポジトリ部品のワンタイム変換のための適切なツールです。 Gitを既存のSVNサーバーのフロントエンドとして使用する場合は便利ですが、ワンタイムコンバージョンの場合はではなくを使用してください。git-svnを使用しますが、svn2gitはこのケースに適しています。

あなたのリポジトリの歴史を約100%でない場合は、http://blog.hartwork.org/?p=763からsvnevereverはGitリポジトリへの移行時にSVNリポジトリの歴史を調査するための素晴らしいツールです。 git-svn(またはあなたのケースでは、間違ったsvn2gitが)で開始することが容易である


にもかかわらず代わりgit-svnのKDE svn2gitを使用して、なぜ、ここではさらにいくつかの理由があることは、その柔軟性以外にも、優れている:

  • 履歴はsvn2git(正確なものが使用されている場合)によってはるかに良く、よりきれいに再構築されますが、これは特に分岐やマージなどの複雑な履歴の場合に当てはまります
  • タグは、 Gothのチェス
  • git-svnタグには余分な空きコミットが含まれており、ブランチの一部ではないため、fetchはデフォルトでコマンドに--tagsを与えるまでそれらを取得しません。フェッチされる。彼らは
  • に属しどこ適切svn2gitタグを使用すると、SVNでレイアウトを変更した場合、あなたが簡単にあなたはまた、簡単に複数のGitリポジトリに1つのSVNリポジトリを分割することができsvn2gitと歴史最終的に
  • を失うことになるgit-svnで、svn2gitでこれを設定することができます
  • 又は容易1つのGitのリポジトリに同じSVNルートにおける複数のSVNリポジトリを組み合わせる
  • 変換が速く正確svn2gitgit-svn
0123よりも無数倍であります

git-svnが悪化し、KDE ​​svn2gitが優れている理由はたくさんあります。 :-)

+0

なぜ同じペーストをコピーして貼り付けますか?何度も? – bahrep

+0

@bahrepそれは同じ答えではなく、質問に適応しています。実際には質問はまったく異なりますが、答えは最もよく「正しいツールを使用して、よりうまく機能します」。 – Vampire

+0

私はそれがあなたのケースで動作するかどうか分からないが、** **の複写として閉じる投票はどうですか?最も一般的で関連性の高い質問を選択し、同様の質問に投票して、重複としてクローズする。 – bahrep

関連する問題