Skip to main content

dd-sdk-ios-setting-up-worktree

Use when creating a git worktree for dd-sdk-ios, starting isolated work alongside another checkout, or when a fresh worktree fails to build or test — missing DD_SDK_COMPILED_FOR_TESTING symbols, "no such module 'OpenTelemetryApi'", or missing *.local.xcconfig files.

来源信息

仓库
DataDog/dd-sdk-ios
最近来源活动
2026年10月6日 12:09
检测到的 SKILL.md 语言
英语
星标
287
分支
176

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
dd-sdk-ios:setting-up-worktree
description
Use when creating a git worktree for dd-sdk-ios, starting isolated work alongside another checkout, or when a fresh worktree fails to build or test — missing DD_SDK_COMPILED_FOR_TESTING symbols, "no such module 'OpenTelemetryApi'", or missing *.local.xcconfig files.
# Setting Up a dd-sdk-ios Worktree A new worktree lacks two gitignored inputs: the local xcconfigs (test targets need them) and `Carthage/Build` (`DatadogTrace` links it). Reuse the main checkout's — setup takes seconds. ```bash MAIN=$(dirname "$(git rev-parse --path-format=absolute --git-common-dir)") WT="<worktree path>" # anywhere, inside or outside the repo # Skip these two lines if the worktree already exists (e.g. created by a harness) git -C "$MAIN" fetch origin develop git -C "$MAIN" worktree add --no-track -b "<branch>" "$WT" origin/develop # branch name: dd-sdk-ios:git-branch cd "$WT" make repo-setup # local xcconfigs mkdir -p Carthage && /bin/cp -cR "$MAIN/Carthage/Build" Carthage/ # APFS clone, instant ``` - Use `/bin/cp`: Homebrew's GNU `cp` may shadow it and has no `-c`. - If `Cartfile.resolved` differs from the main checkout's, run `make dependencies` instead of the clone. - Don't run full `make`, `env-check`, or `templates` — they're machine-wide and already done. - If the worktree is inside the main checkout, add its folder to the file printed by `git rev-parse --path-format=absolute --git-path info/exclude` (not `.gitignore`) so it doesn't show up as untracked. Don't hardcode `.git/info/exclude`: in a linked worktree `.git` is a file. **Xcode MCP:** `XcodeOpenWorkspace(path: "<WT>/Datadog.xcworkspace")`. Each new folder needs approval: if the call says *"Xcode is waiting for the user to approve this request"*, ask the user to approve from the Xcode MCP menu bar icon, then retry.
在 GitHub 查看