私は SVN リポジトリで Git SVN プラグインを使用しています。git fetch を実行するたびに、SVN リポジトリ全体のすべてのブランチの変更がフェッチされます。多くのブランチで多くのコミットを行うと、数時間後に長い時間がかかります
特定のブランチの変更のみをフェッチするように指示できますか?
私は SVN リポジトリで Git SVN プラグインを使用しています。git fetch を実行するたびに、SVN リポジトリ全体のすべてのブランチの変更がフェッチされます。多くのブランチで多くのコミットを行うと、数時間後に長い時間がかかります
特定のブランチの変更のみをフェッチするように指示できますか?
を使用して、現在の HEAD に対応するリモート ブランチを取得できますgit svn fetch --parent
。
残念ながら、親ブランチではない単一のリモート Subversion ブランチからフェッチすることはできません。git svn fetch
ただし、バックグラウンドでキックすることはできます。作業コピーにはまったく影響しません。を使用して夜間に自動的にフェッチを行うようにコンピューターをセットアップしましたcron
。
これらを確認してください:
git-svn init --ignore-paths=<regex>
git-svn fetch --ignore-paths=<regex>
同じ問題が発生しました。git
私たちの解決策は、SVN で fetch を使用するのではなく、すべての SVN タグ、ブランチ、およびトランクを のgit
ような構造にインポートできるようにすることでした (非常に満足しています) 。
SVN リポジトリ (trunk/tags/branch ディレクトリ) も適切に作成されていませんでしたが、それは問題ではありませんでした。
git svn --tags PATH_TO_YOUR_TAGS --branches PATH_TO_YOUR_BRANCHES --trunk PATH_TO_YOUR_TRUNK svn+ssh://path.to.your.svn/repository
これには非常に長い時間がかかります。この後、ワークフローは - のようにgit
なります。のようにコミットしてブランチを作成するとgit
、...
SVN にコミット:
git svn dcommit
SVN からのチェックアウト: (差分)
git svn rebase