2016-08-25 7 views
1

私はSVNサーバーでいくつか私のプロジェクトを持っています。しかし、私がSVNサーバーを使い始めたとき、私はSVNセットアップがどのようにすべきかについて何の手がかりも持っていませんでした。SVNから奇妙な場所にあるGitタグへ

だから私の現在のSVNリポジトリのレイアウトは、このようなものです:

https://mysvn/svn 
    trunk 
     project1 
     project2 
    tags 
     project1-tag1 
     project1-tag2 
     project2-tag1 
     project2-tag2 

いくつかの考えた後、私はGitのに行くことに決めた、とアトラシアンのチュートリアルをGitはするSVNを追った、と私は私のカスタムトランクを定義することができています私のタグは問題です。

私は、コマンド

git svn clone --trunk=/trunk/project1/ --authors-file=authors.txt https://mysvn/svn/ Project1AsGit 

を使用することができますしかし、どのように私はProject1の内のProject2のタグを持たずにタグを内蔵していますか?

答えて

0

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

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

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

ルールファイルをセットアップして、2つのGitリポジトリを完成させることができます.Gitリポジトリは、必要な場所に正確に名前を付け、名前を付けたい場所に、そしてすべてを1つのツールで実行できます。プロセス内のタグの名前をproject1-tag1からtag1に変更するなどの処理も​​可能です。

+0

私はKDEを見ましたが、それは複雑に見えます。私が使用しているサーバには十分なディスク容量がありません。私が読んだことから、SVN dbのローカルコピーが作成されるからです。だから私はこれを使いたい:https://github.com/nirvdrum/svn2gitそれは正しいので、私は次のコマンドを使用する必要がありますか? 'svn2git https:// mysvn/svn --trunk/trunk/project1 --nobranches --tag/tags/project1 *'? – Erates

+0

'svn2git'は' git-svn'に基づいているので、1回の変換にはあまり適していません。また、サーバー上のスペースもあまり適切ではありません。リポジトリファイルをあなたのローカルマシンにコピーしてそこに 'svn2git'を実行するだけで、より速くgazillionになります。サーバー上で 'svn2git'を実行してもリポジトリファイルはコピーされませんが、Gitリポジトリを作成するだけです。 Gitリポジトリに十分なスペースがあれば十分です。 'git-svn'の正しいコマンドは何ですか、私はどこでも使えないようにしようとしているので、あなたには言いません。 ;-) – Vampire

+0

あなたの答えは私に別の解決策を考えさせました。実際にはたくさんのプロジェクトがあり、そのプロジェクトのタグのほとんどは専用のフォルダにあります。私は3つのプロジェクトしか持っていません。私がやったことは、単に 'git-svn'を使うことですが、タグを無視することです。 はその後SourceTreeに、私はログを経て、手動でどこでもMavenのは、リリースログを追加したタグを作成しました。これは手動でしたが、複雑なシステムを設定して自動的に行うよりも簡単で簡単です。 – Erates

関連する問題