次のように構成された古いSVNリポジトリから新しいgitリポジトリを作成しようとしています。
/root
trunk
build_scripts
packager
0.1.0
0.1.1
0.1.2
...etc...
0.xは明らかに伝統的にtags
ディレクトリにあり、trunk
保持する必要のあるソフトウェアのパッケージ化されたリリースを表すソフトウェアのリリースです。他の2つは、パッケージ化とテスト用のサポートスクリプトです。
それは主に私がリポジトリに対してコミットしただけでした-各リリースはsvn copy
コマンドで作成されただけです。
ベストプラクティスではないかもしれませんが、開発は簡単です。ビルド環境をチェックし、その後、トランクをチェックして作業します。パッケージングスクリプトは新しいタグをコピーし、準備ができたらダウンロード可能なパッケージを作成します。
これをクリーンアップしてgitリポジトリに取り込むにはどうすればよいですか?理想的には、ベストプラクティスを使用し、すべての履歴を保持したいと思います。
私は使用してみましたsvn2git
:
svn2git path-to-repo --trunk trunk --nobranches --authors=/path/to/authors.txt
リポジトリにトランクが表示されますが、タグが表示されません(git tag
何も表示されません)。また、他のスクリプトも持ってくるのが理想的です。
GITを使用する主な目的は、開発方法です。テストマシンから離れた場所での開発に行き詰まり、バグを修正してからさらに上流にプッシュできるテストリポジトリにコミットしたい場合があります。今、私は壊れたものを中央のSVNリポジトリにコミットし、テストマシンでチェックアウトします。それは明らかにひどいです。
必要に応じて、SVNリポジトリのクリーンアップに時間を費やすことができてうれしいです。まだそれを捨てる準備ができていません。