Carthage を使用して、いくつかのフレームワークを git サブモジュールとしてインポートしました。参考までに、リポジトリはgithubで入手できます。
Carthage は構成の混合を作成し、その結果、新しく複製されたコピーの構築に失敗しました。
➜ IKnowKungFu git:(master) carthage update
*** Fetching Nimble
*** Fetching Quick
*** Fetching CleanroomLogger
*** Fetching CleanroomASL
Parse error: expected submodule commit SHA in output of task (ls-tree -z HEAD Carthage/Checkouts/CleanroomLogger) but encountered:
レポの新しいクローンは次のようになります。
Carthage/Checkouts/Nimble
とCarthage/Checkouts/Quick
存在しますが、空のフォルダーです。
実行後git submodule update --init --recursive
:
Carthage/Checkouts/Nimble
とCarthage/Checkouts/Quick
とCarthage/Checkouts/Quick/Externals/Nimble
チェックアウトされています。まだ記憶がない:
Carthage/Checkouts/CleanroomASL
とCarthage/Checkouts/CleanroomLogger
カートファイル
➜ IKnowKungFu git:(master) cat Cartfile
github "emaloney/CleanroomLogger"
Cartfile.private
➜ IKnowKungFu git:(master) cat Cartfile.private
github "Quick/Quick"
github "Quick/Nimble"
.gitmodules
➜ IKnowKungFu git:(master) cat .gitmodules
[submodule "Carthage/Checkouts/CleanroomASL"]
url = https://github.com/emaloney/CleanroomASL.git
[submodule "Carthage/Checkouts/CleanroomLogger"]
path = Carthage/Checkouts/CleanroomLogger
url = https://github.com/emaloney/CleanroomLogger.git
[submodule "Carthage/Checkouts/Nimble"]
path = Carthage/Checkouts/Nimble
url = https://github.com/Quick/Nimble.git
[submodule "Carthage/Checkouts/Quick"]
path = Carthage/Checkouts/Quick
url = https://github.com/Quick/Quick.git
.gitignore
➜ IKnowKungFu git:(master) cat .gitignore
###
### https://github.com/github/gitignore/blob/master/Swift.gitignore
###
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
## Build generated
build/
DerivedData/
## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/
## Other
*.moved-aside
*.xccheckout
*.xcscmblueprint
## Obj-C/Swift specific
*.hmap
*.ipa
## Playgrounds
timeline.xctimeline
playground.xcworkspace
# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
.build/
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/
# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
Carthage/Checkouts
Carthage/Build
# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://github.com/fastlane/fastlane/blob/master/docs/Gitignore.md
fastlane/report.xml
fastlane/screenshots
###
### https://github.com/github/gitignore/blob/master/Global/OSX.gitignore
###
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
更新 1
Carthage/Checkouts/CleanroomASL
さらなる調査によると、Carthage はおよびの .gitmodules エントリを更新しましたが、サブモジュールのクローンを作成できるようにするための160000ディレクトリ ポインターCarthage/Checkouts/CleanroomLogger
の作成に失敗しました。
私が何をしてもこれを解決できるようには見えません。含む
- .gitmodules から Cleanroom エントリを手動で削除する
- ローカルの Carthage フォルダーをワイプする
rm -rf ~/Library/Caches/org.carthage.CarthageKit
これを修正する方法がわかりません。
更新 2
バグレポートを提出しましたhttps://github.com/Carthage/Carthage/issues/1146