TL;DR
いいえ。ただし、いくつかの代替手段があります。
Git と SVN の歴史
Git と SVN の履歴の処理方法はまったく異なります。SVN リポジトリをチェックアウトすると、.svn ディレクトリには最新のコミットのみが保持されるため、作業ディレクトリと比較したり元に戻したりできます。
一方、Git は履歴全体を複製します。浅いクローンなどの特定の例外がありますが、ほとんどの目的で、Git は履歴の表示や差分の計算などを行うために完全なリポジトリを必要とします。
切り捨てられた履歴が気にならない場合は、--depth
またはの--revision
フラグを参照してくださいgit-svn
。これらのフラグを使用すると、SVN リポジトリから取得するリビジョンの数、取引履歴、速度を向上させる機能を制限できます。
ただし、SVN 作業コピーを新しい Git リポジトリとしてインポートすることはできますが、.svn ディレクトリには実際の履歴は保持されません。履歴にアクセスするには SVN リポジトリに接続する必要があるため、作業コピーからインポートすることはできません。
Subversion を最初にミラーリングする
git-svn
ただし、Subversion リポジトリをミラーリングしてから、ミラーに対してローカルで実行することを検討してください。SVN リポジトリの完全なコピーが必要ですが、リポジトリのミラーリングは、Subversion のコミットをネットワーク接続経由で一度に 1 つずつ取得するよりも時間がかかりませんgit-svn
。
やりたいことはまだできないことに注意してください。ただし、これは SVN から Git への移行の速度を向上させる別の実行可能な代替手段です。これにより、速度が向上するだけでなく、Git 側の履歴がより完全になります。