私は最初の Hudson + Git プロジェクトをセットアップしています (以前は Hudson + SVN で多くのプロジェクトを行っていました)。私たちのリポジトリは非常に大きいため、クローン ステージは遅いと予想していましたが、フェッチ + マージが使用されている後続のビルドも同様に長くなります。次のオプションが有効になっています。
- ビルド前にマージ
- チェックアウト後の清掃
「ワークスペースを一掃する」ことはしていません。
... リモート Git リポジトリからの変更のフェッチ アップストリームの変更を git@github.com:username/ProjectFoo.git から取得する [Foo] $ git fetch -t git@github.com:username/ProjectFoo.git +refs/heads/*:refs/remotes/origin/*
この時点で、非常に長い間停止します。最終的に終了すると、期待どおりに進行しているように見えます。
[Foo] $ git ls-tree HEAD [Foo] $ git rev-parse origin/mybranch リビジョン c883d59dd5a506a0b586f679a256f539712bfccc (origin/mybranch) のビルドを開始 GitAPI が作成されました リビジョン c883d59dd5a506a0b586f679a256f539712bfccc (origin/mybranch) のチェックアウト [Foo] $ git checkout -f c883d59dd5a506a0b586f679a256f539712bfccc [Foo] $ git tag -a -f -m "Hudson Build #2" hudson-Foo-2 ブランチ origin/mybranch での変更の記録 [Foo] $ git whatchanged --no-abbrev -M --pretty=raw c883d59dd5a506a0b586f679a256f539712bfccc..c883d59dd5a506a0b586f679a256f539712bfccc ワークスペースの清掃 [Foo] $ git clean -fdx ...
fetch
Git Bash コマンド ラインから同じコマンドを実行すると、ほぼ瞬時に実行されます。
何が起こっているのでしょうか?または物事をスピードアップするためのヒント?複製されたリポジトリは 210MB であることに注意してください。(約 10 年分のコード履歴。)