← ClaudeAtlas

merge-3-way-splitlisted

Read-only pre-merge review. Lists dual-touched files, shows OURS / THEIRS / merge-base diffs, and flags likely-collision patterns so the integrator understands the full scope before running git merge. Accepts a target branch (default: main).
DazzleML/dazzle-claude-code-config · ★ 0 · AI & Automation · score 70
Install: claude install-skill DazzleML/dazzle-claude-code-config
# merge-3-way-split — pre-merge 3-way diff review ## Target: "$ARGUMENTS" Read-only analysis of an upcoming merge. Inform the integrator about what's coming in -- per-file, side by side -- BEFORE `git merge` runs. Use when: you're about to merge a non-trivial branch (parallel work, multiple authors, multiple days/weeks of changes) and want to understand the full scope of incoming changes before letting git's default 3-way merge mutate files. If no target is given, default to `main`. ## Steps ### 1. Identify branches and base - Current branch: `git rev-parse --abbrev-ref HEAD` - Target branch (from $ARGUMENTS or default `main`) - Merge base: `git merge-base HEAD <target>` - Quick stats: how many commits each side has since the base (`git rev-list --count <base>..HEAD` and `<base>..<target>`) - Summary line: "Merging N commits from <target> into M commits on <branch> diverged at <base-short-sha>." ### 2. Classify file sets Compute three sets relative to the merge base: - **only-ours**: files modified on HEAD but untouched on target (`git diff --name-only <base>..HEAD` MINUS `git diff --name-only <base>..<target>`) - **only-theirs**: files modified on target but untouched on HEAD (the complement) - **dual-touched**: files modified on both sides (intersection of the two diff lists) Report counts. Highlight that only-ours / only-theirs will auto-merge trivially -- dual-touched is where attention is needed. ### 3. Per-file 3-way view (dual-touched only) For