Adds all 6 ROOT 03 modules (why version control exists, the Git mental model, everyday Git, branching & merging, remote repositories, engineering Git workflow) — 31 activities. Uses only real LOCAL Git repositories throughout — no Gitea account, no network access, and no RootNode-canonical-repo credential is ever needed or exposed in a student Lab (docs/ROOT_FOUNDATIONS_LAB_STRATEGY.md §4). Modules 1, 2, and 6 are conceptual bookends with no lab, matching the flexible readiness standard already used in ROOT 01/02. Adds 3 new hands-on Git scenarios plus 2 MCQs: git-everyday-basics (init/add/commit, validated by inspecting real `git log`/`git show` state, not just command output strings — Step 6's explicit requirement), git-branching-and-merge (a REAL merge conflict caused on purpose by two branches editing the same line, resolved by the student, validated by confirming the conflict markers are gone and a real two-parent merge commit exists), and git-remote-clone-push (a real local bare repository standing in for a remote — clone/commit/push validated by inspecting the REMOTE side directly, not just the student's own clone). All tested end-to-end via the real scenario-validation API, including negative tests. Wires rootnode-git-fundamentals-assessment (2 required + 3 random-draw scenarios) using the existing Phase 3B assessment engine. Co-Authored-By: Claude Sonnet 5 <[email protected]>
1.4 KiB
Guided Exercise: Decide the Resolution Before You Touch the File
This is a paper exercise — commit to a decision before resolving anything in the Lab.
Your task
A merge conflict shows:
<<<<<<< HEAD
timeout_seconds = 30
=======
timeout_seconds = 120
>>>>>>> feature
You know main's value (30) was set deliberately for production safety, but feature's value
(120) was added while debugging a slow endpoint that genuinely needs more time. Write out: what
final content would you put in the file, and why is that the RIGHT resolution (not just "pick
one side")?
A worked shape to check yourself against
A well-reasoned resolution here is neither side alone: something like keeping 30 as the
DEFAULT but adding a comment or a separate, more specific setting for the slow endpoint
specifically — the point is that conflict resolution sometimes means genuinely combining intent
from both sides, not mechanically picking HEAD or the incoming branch. There's no single
"correct" file content — the value is in justifying whichever choice you make with real
reasoning, not defaulting to whichever side happens to be HEAD.
Instructor Notes
Facilitation: The point of this exercise is resisting "just pick a side" as a reflex — some conflicts genuinely require combining or renegotiating intent, not mechanical selection.
Approximate timing: 8-10 minutes live discussion; 5 minutes self-paced.