小编abb*_*dev的帖子

TFS Build上的Git子模块失败

当我尝试使用Git使用TFS构建时,TFS的git提供程序尚不支持子模块存在限制.有点痛苦,但是,我能告诉TFS在编译之前运行批处理文件.我用它来调用手动git脚本来更新我的"超级"项目中的所有子模块.

此批处理文件运行的命令只是:git submodule update --init --recursive

在将子模块源迁移到TFS之前,这工作得很好,但是现在TFS构建失败了,因为上面的git模块脚本不再起作用.

那么,TFS在构建之前所做的是将当前源从Git拉到构建服务器上的一个文件夹,我可以访问该文件夹.

如果我打开Git Bash到这个文件夹并运行以下命令:git submodule init git submodule update

我得到以下错误,我无法为我的生活做些什么.我已经尝试搜索这个特定的错误,这个错误通常指向在推送"超级项目"repo之后推送的子模块提交.但是我可以在"超级项目"提交和推送完成之前验证是否执行了所有子模块提交和推送.这是TFS git命令的输出:

james@TFS /C/Builds/1/Technique Webs/MIS Console 5.2 Development/src (5.2development)
$ git submodule init

james@TFS /C/Builds/1/Technique Webs/MIS Console 5.2 Development/src (5.2development)
$ git submodule update
Username for 'http://tfs:8080': james
Password for 'http://james@TFS:8080': <password>
From http://TFS:8080/TFS/Technique/_git/Technique%20Library
 * branch            HEAD       -> FETCH_HEAD
fatal: reference is not a tree: 33106ea146d470159e327c1b2d623d14f522cdd4
Unable to checkout '33106ea146d470159e327c1b2d623d14f522cdd4' in submodule path 'calc-engine'

james@TFS /C/Builds/1/Technique Webs/MIS Console 5.2 Development/src (5.2development)
$
Run Code Online (Sandbox Code Playgroud)

.net git tfs tfsbuild tfs2013

8
推荐指数
1
解决办法
2494
查看次数

标签 统计

.net ×1

git ×1

tfs ×1

tfs2013 ×1

tfsbuild ×1