2010-12-19 11 views
4

私は大規模なオープンソースプロジェクトをSubversionからgitに移行しました。svnからgitへの移行:接続が不安定な大きなリポジトリ用に.gitignoreファイルを作成するにはどうすればよいですか?

私はgit svn create-ignoreを実行しようとしていますが、SVNサーバーの接続が時々失敗するので、約30分後に、それは失敗します。

RA層の要求は失敗しました: のPROPFIND「...」:接続できませんでしたサーバー (...)に送信します。

さて、問題は、私は再びgit svn create-ignoreをすれば、それは(それが壊れたところから続けているgit svn fetchとは違って)完全にオーバー再起動すること、です。したがって、プロジェクトの約25%を過ぎることはありません。これは修正可能ですか?

+0

Uhm ...なぜ接続**は**悪いですか? – thejh

+0

どのプロジェクトですか? gnuのもののほとんどは、リポジトリのrsyncを提供しているので、あなたはすべてをローカルで行うことができますか? – Rup

+0

プロジェクトの規模が大きすぎるほど、接続はそれほど悪くはありません。 "git svn create-ignore"がすべての単一ファイルに対して別々の接続を作っているようです。ファイル500で失敗することもありますが、時にはファイル5000で失敗することもあります。 –

答えて

4

あなたはこのような何かを試みることができる:hereを説明するよう

  • まずsvnsyncで全体のSVNリポジトリのローカルミラーを作成します。
  • [svn-remote]セクションのURLを.git/configに編集して、ローカルミラーを指定してください(file:/// URLを使用できます)。
  • もう一度git svn create-ignoreを試してください。
  • .git/configを再び実際のリポジトリを参照するように変更します。

ローカルミラーを作成するには、多くの時間、帯域幅、ディスク容量が必要ですが、途中で中断された場合は、少なくとも再開することができます。

+0

良いアイデア。私はローカルミラーを作成できませんでしたが、svnダンプの読み込みがロードされないためです(おそらく、SVN履歴が破損しているためです)。悪い運は一人で打つことはありません:) –

+0

@Geoffrey:私は混乱しています - 'svnsync'はsvnダンプを使用しません。他のSVNクライアントと同様に情報を取得します。また、あなたがSVNのダンプを使用したという事実は、あなたがリポジトリへの管理者権限を持っていることを示唆しているようです。その場合、リポジトリフォルダ全体をコピーするだけで、ダンプ/ロードサイクルは不要です。 –

+0

良い点、私はsvnadminとsvnadmin dumpとloadを混同しました。私は期限を過ぎていたので、私はsvnを手動で無視しましたが、 –

関連する問題