我正在建立我的第一个 Hudson + Git 项目(以前用 Hudson + SVN 做过很多)。我预计克隆阶段会很慢,因为我们的存储库非常大,但是使用 fetch + merge 的后续构建也一样长。启用以下选项:
- 构建前合并
- 结帐后清洁
我不是在做“清除工作区”。
... 从远程 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。(大约十年的代码历史。)