Xcode Bot Checking out a Repository with a git submodule referencing a commit that isn't available fails cryptically

Originator:fcanas
Number:rdar://21446512 Date Originated:18-Jun-2015 03:22 PM
Status:Closed Resolved:11-Jan-2016
Product:Developer Tools Product Version:Xcode 6.3.1 (6D1002)
Classification:Serious Bug Reproducible:Always
 
Summary:
An Xcode Bot is used for continuous integration on a project. If that project’s repository has a git submodule pointing to a commit that isn't available on a remote repository that is available, the integration correctly fails. It even correctly indicates that it could not check out the expected code from a remote repository. However it does not provide enough details about the problem to easily solve it. The failed integration does not provide logs, and the Xcode server logs are not any more useful than the high-level idea that a source control checkout failed.

Steps to Reproduce:
Create an Xcode project in a git repository with a git submodule.
Configure a bot for the repository.
See that everything integrates correctly
Make a commit in the git submodule, commit the change to submodules in the main repository but to not push the submodule commit.
Try to integrate with Xcode Bot

Expected Results:
Ideally the Integration results should indicate that a git submodule is not available at the required commit. Short of that, the bot should show logs that may help show where the source control failure occurred. Short of that, the server logs could indicate which sub-operation within the checkout failed.

Actual Results:
The integration shows that it failed due to being unable to check out the project. There are no logs for the integration. The Xcode server logs provide no additionally useful information. Only that a failed check out was indeed the reason for failure.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!