2016-05-09 10 views
0

3つのsvnリポジトリがあり、それぞれに30〜プロジェクトがあります。これらの3つのsvnリポジトリをGitリポジトリに変換し、それぞれのプロジェクトを内部に保存したいと思います。私が持っている構造の表現である明確なアイデア、与えるために:Svn2git移行:リポジトリ/プロジェクト合併

-Repository1 
    -- project1 
    -- project2 
    -- project3 
    -- project4 
    -- project5 
-Repository2 
    -- project1 
    -- project2 
    -- project3 
    -- project4 
    -- project5 
-Repository3 
    -- project1 
    -- project2 
    -- project3 
    -- project4 
    -- project5 

私がこれまでのチュートリアルの多くを試してみましたが、どれも私の目的のために働きました。ほとんどのチュートリアルでは、プロジェクトごとにリポジトリを作成することを提案していますが、これは私のsvnで持っているパターンではないので、大丈夫です。私はこのようなコマンドを実行

svn2git http://address/address/Repository1/project1 --authors ../authormap.txt --metadata 

それは私が望んでいないgitリポジトリとして、プロジェクトのフォルダを作成します。これは私のsvn構造の場合ではないからです。

私はリポジトリ全体(30個のプロジェクトと一緒に)をGitリポジトリに変換するコマンドが必要です。私はこのように、アドレスの末尾にprojectNameを削除するように指示されました:

svn2git http://address/address/Repository1 --authors ../authormap.txt --metadata

が、それは動作しませんでしたが、私が得た:

command failed: 
git checkout -f master 

私はほとんどのための方法を試してきました今日は運がない。リポジトリを変換するのは、このようなイライラした複雑な作業であってはなりません。誰でも問題についての確固たるアイデアを持っていますか?

答えて

-1

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

あなたが望む結果を得るためにレイアウト用に簡単に設定することができます。

svnevereverからhttp://blog.hartwork.org/?p=763までの履歴は、SVNリポジトリの履歴をGitに移行する際の履歴を調べるのに最適なツールです。

+0

'svneverever'は、 '/svn/X/!svn/bc/90/X.gui.app/trunk/META-INF'のPROPFINDリクエストに対する' Server sent unexpected return value(500 Internal Server Error)を返します。 いつも25.45%のREPORT要求応答の読み込み中にエラーが発生しました。本当に使用できません。 –

+0

リポジトリのコピーをローカルに取得して分析する方が良いでしょう。とにかくsvn2gitに必要です。 – Vampire

+0

ルールに関しては、私の構造に似ている/ samplesの下にサンプルが見つかりませんでした。彼らは何とか、リポジトリがトランクを持つただ一つのプロジェクトであると想像しています。これは私の場合ではありません。自分のリポジトリに30個のプロジェクトがあり、それぞれに独自のトランクがあります。 –