Xcode bot:git子模块未初始化

前端之家收集整理的这篇文章主要介绍了Xcode bot:git子模块未初始化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用OSX服务器设置 Xcode bot.
配置git存储库并创建机器人后,我运行集成.
它失败,因为存储库仅部分检出.更确切地说:在配置的6个子模块中,只有3个被初始化和检出.
  1. didi@mac:/Library/Server/Xcode/Data/BotRuns/Cache/c5fda8f4-4d25-4d25-c18a-eb0b16a06692/source$git submodule status
  2. +c6e8420aec4147641fb1ca12d9f1d31bdd804e77 libs/asi-http-request (v1.7-320-gc6e8420)
  3. -ae64a38766b42f236bb94f0e661cddb829f9ac43 libs/kraken
  4. -7da02b323636bbaa0bbbf5b4eb229fcc07b1e14a libs/route-me
  5. 152f9ee5576e710705a49032253d7d5af5366f9c libs/routing (152f9ee)
  6. 347aaf74fe0c6388785095efdbf6397851514b7f libs/rtlabel (1.0-32-g347aaf7)
  7. -562cf6b1c879f03546f5184e012cea15c4f159db libs/skmaps

( – 表示未初始化)

查看机器人日志,它似乎只是忽略子模块初始化部分中丢失的子模块:

  1. ...
  2. Checking connectivity... done
  3. Submodule 'libs/asi-http-request' (https://github.com/BikeCityGuide/asi-http-request.git) registered for path 'libs/asi-http-request'
  4. Submodule 'libs/routing' (ssh://mac_ci@rooty.bikecityguide.org/var/repos/librouting.git) registered for path 'libs/routing'
  5. Submodule 'libs/rtlabel' (https://github.com/BikeCityGuide/RTLabel.git) registered for path 'libs/rtlabel'
  6. Cloning into 'libs/asi-http-request'...
  7. ...

这里或其他地方没有错误消息.没有提到例如日志中任何位置的“kraken”(缺少子模块的名称).

手动签出时(clone,submodule init,submodule update),所有子模块都被初始化.

.gitmodules看起来像这样:

  1. $cat .gitmodules
  2. [submodule "libs/asi-http-request"]
  3. path = libs/asi-http-request
  4. url = https://github.com/BikeCityGuide/asi-http-request.git
  5. [submodule "libs/rtlabel"]
  6. path = libs/rtlabel
  7. url = https://github.com/BikeCityGuide/RTLabel.git
  8. [submodule "libs/routing"]
  9. path = libs/routing
  10. url = ../librouting.git
  11. [submodule "libs/kraken"]
  12. path = libs/kraken
  13. url = ../kraken_ios.git
  14. [submodule "libs/route-me"]
  15. path = libs/route-me
  16. url = ../route-me.git
  17. [submodule "libs/skmaps"]
  18. path = libs/skmaps
  19. url = ../skmaps.git

基本存储库和使用相对URL引用的4个子模块存储库都需要ssh身份验证.在OSX服务器中设置的用户可以访问所有这些用户.
机器人的日志不包含试图拉动丢失的子模块的痕迹.

我可以手动修复本地存储库,但我不想再添加新项目和新子模块的问题.

git版本1.8.4.2

我没有想法.

解决方法

在Xcode 6.1.1和OS X Server 4.0上,看起来他们修复了具有分离的HEAD问题的子模块,但仍然存在一些错误.我的一个项目有一个子模块被Xcode Server完全忽略,因此应用程序无法构建:
  1. $git submodule
  2. 8a88bc41c9dc0f57c921d82bc4e7b93e1c4cbf7a InAppStore (heads/master)
  3. e4203f9f61d2546868c1274da5c7a0c56b87a737 Libraries (heads/master) <--- IGNORED
  4. 01902f255e6c3d90f0db41cb62dd2934098b98dd MixpanelTracker (heads/master)
  5. e2bee59accd817d50dff881a42c9e9afe307226f XLFacility (1.4.1-5-ge2bee59)

我的修复是添加一个预集成脚本触发器:

  1. cd "$XCS_SOURCE_DIR/{YOUR_APP_REPO_NAME_WITHOUT_DOT_GIT_SUFFIX}"
  2. git submodule update --init --recursive

在这一点上,事情正在建立,虽然有关于结账不干净或类似的非致命警告.当我改变机器人的配置以将“清洁”设置为“始终”时,它们就消失了.

猜你在找的iOS相关文章