我正在尝试使用OSX服务器设置Xcode机器人。配置了git仓库并创建了一个bot之后,我运行了Integrated。它失败,因为仅部分检出了存储库。更精确地说:在配置的6个子模块中,只有3个被初始化和检出。
didi@mac:/Library/Server/Xcode/Data/BotRuns/Cache/c5fda8f4-4d25-4d25-c18a-eb0b16a06692/source$ git submodule status
+c6e8420aec4147641fb1ca12d9f1d31bdd804e77 libs/asi-http-request (v1.7-320-gc6e8420)
-ae64a38766b42f236bb94f0e661cddb829f9ac43 libs/kraken
-7da02b323636bbaa0bbbf5b4eb229fcc07b1e14a libs/route-me
152f9ee5576e710705a49032253d7d5af5366f9c libs/routing (152f9ee)
347aaf74fe0c6388785095efdbf6397851514b7f libs/rtlabel (1.0-32-g347aaf7)
-562cf6b1c879f03546f5184e012cea15c4f159db libs/skmaps
(-表示未初始化)
查看机器人日志,似乎只是忽略子模块初始化部分中缺少的子模块:
...
Checking connectivity... done
Submodule 'libs/asi-http-request' (https://github.com/BikeCityGuide/asi-http-request.git) registered for path 'libs/asi-http-request'
Submodule 'libs/routing' (ssh://[email protected]/var/repos/librouting.git) registered for path 'libs/routing'
Submodule 'libs/rtlabel' (https://github.com/BikeCityGuide/RTLabel.git) registered for path 'libs/rtlabel'
Cloning into 'libs/asi-http-request'...
...
在这里或其他任何地方都没有错误消息。日志中没有任何地方提及“ kraken”(缺少的子模块的名称)。
手动检出(克隆,子模块初始化,子模块更新)时,所有子模块均已初始化。
.gitmodules看起来像这样:
$ cat .gitmodules
[submodule "libs/asi-http-request"]
path = libs/asi-http-request
url = https://github.com/BikeCityGuide/asi-http-request.git
[submodule "libs/rtlabel"]
path = libs/rtlabel
url = https://github.com/BikeCityGuide/RTLabel.git
[submodule "libs/routing"]
path = libs/routing
url = ../librouting.git
[submodule "libs/kraken"]
path = libs/kraken
url = ../kraken_ios.git
[submodule "libs/route-me"]
path = libs/route-me
url = ../route-me.git
[submodule "libs/skmaps"]
path = libs/skmaps
url = ../skmaps.git
基本存储库和用相对URL引用的4个子模块存储库都需要ssh身份验证。在OSX服务器中设置的用户可以访问所有这些用户。僵尸程序的日志不包含尝试拉出丢失的子模块的痕迹。
我可以手动修复本地存储库,但是我不想在添加新项目和新子模块时再遇到同样的问题。
git版本1.8.4.2
我没主意了。
在Xcode 6.1.1和OS X Server 4.0上,它们似乎解决了带有分离HEAD问题的子模块,但仍然存在一些错误。我的一个项目中有一个子模块被Xcode Server完全忽略,因此该应用无法构建:
$ git submodule
8a88bc41c9dc0f57c921d82bc4e7b93e1c4cbf7a InAppStore (heads/master)
e4203f9f61d2546868c1274da5c7a0c56b87a737 Libraries (heads/master) <--- IGNORED
01902f255e6c3d90f0db41cb62dd2934098b98dd MixpanelTracker (heads/master)
e2bee59accd817d50dff881a42c9e9afe307226f XLFacility (1.4.1-5-ge2bee59)
对我来说,解决方法是添加这样的预集成脚本触发器:
cd "$XCS_SOURCE_DIR/{YOUR_APP_REPO_NAME_WITHOUT_DOT_GIT_SUFFIX}"
git submodule update --init --recursive
在这一点上,事情正在建立,尽管有一些非致命的警告,指出结帐不干净或类似的东西。当我更改为机器人的配置,并将“清理”设置为“始终”时,它们消失了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句