SVNとGitを一緒に使いたいです。 svnリポジトリがあり、作業ディレクトリにフェッチしようとしていますが、次のようなエラーが発生します。
svn、バージョン1.6.6(r40053)
gitバージョン1.7.3.1.msysgit.
Svnリポジトリのパスはfile:/// d:/ tmp/test-svn/repos
これらは私がしたステップです:
D:\tmp\test-svn>mkdir my-project
D:\tmp\test-svn>cd my-project
D:\tmp\test-svn\my-project>git svn init file:///d:/tmp/test-svn/repos
Initialized empty Git repository in D:/tmp/test-svn/my-project/.git/
D:\tmp\test-svn\my-project>git svn fetch
Couldn't open a repository: Unable to open an ra_local session to URL: Unable to
open repository 'file:///d:/tmp/test-svn/repos/my-project/trunk': Expected FS f
ormat '2'; found format '4' at C:\Program Files\Git/libexec/git-core/git-svn lin
e 1773
それで、問題は何ですか?どうすればsvnリポジトリからgit作業ディレクトリにデータをフェッチできますか?
ありがとうございました。
これは次の問題だと思います: http://code.google.com/p/msysgit/issues/detail?id=298
考えられる解決策は、svnserveをセットアップし、svn://
の代わりにfile:///
プロトコルを使用することです。
Windowsでのsvnserveの設定については、こちらをご覧ください: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-serversetup-svnserve.html
[〜#〜]更新[〜#〜]
svnserve
は、Windows OSを使用している場合、TortoiseSVNの一部として利用できます(TortoiseSVNバージョン1.8.6で確認しました)
次に、開始します。
svnserve -d -R --root c:\path\to\svn\repo
次のコマンドでリポジトリのクローンを作成します。
git svn clone svn://localhost/path/inside/svn/repo
SmartGit を使用してリポジトリのクローンを作成することを提案できます。 Javaで実装されたgit-svn機能があり、git-svnよりも大幅に高速で、パフォーマンスが優れています。それがあなたのために働くことを願っています。
ただし、SVNリポジトリサーバーにアクセスできる場合は、 SubGit をインストールすることをお勧めします。この場合、SVNリポジトリと自動的に同期される(そして同時安全な)Gitリポジトリを取得します。
どちらのアプローチにも、自動タグ付け、無視、EOL変換など、git-svnに比べて大きな利点があります。 SubGitは、SVNにコミットしている間、可能な限り日付を保持しようとします。