バックグラウンド
私たちの分散した開発チームには、リモートに配置された集中型の SVN リポジトリがあり、複数のチームがソース コードをコミットするために使用されます。ローカル パフォーマンスを改善するために、コード レビュー プロセスにGerrit (SVN の代わりに確かに Git) を使用することを決定したため、Git のマスターをリモート SVN リポジトリと相互運用する「ハブ」として設定しています。
問題
通常、この問題の回避策は git-svn です。ただし、git-svn を介して複製されたブランチは、従来の ".git" とは異なるフォルダー構造を持ち、Gerrit によって認識されません。
現時点での回避策
そこで、ちょっとナイーブに見える手段を採用。
- リモート SVN リポジトリをチェックアウトします。
SVN 作業コピーとまったく同じディレクトリで、対応する git リポジトリを git clone します。したがって、このディレクトリには「.svn」のほかに「.git」もあります。
$ svn co http://remote.svn.repository/some_project
$ cd some_project
$ git clone --no-checkout git_reop ./tmp
$ mv ./tmp/.git ./ # Move .git directory to SVN working copy.
$ rm -rf ./tmp
$ git reset --hard HEAD # This is tricky to tell git I want to use this directory as unstaged.
質問
SVN と Git の間で共有リポジトリを使用している場合、git-svn を使用せずに Git リポジトリを SVN 作業コピーと同じディレクトリにプルするだけで問題はありますか?