Skip to content

Submodules

Wyrm displays submodules as first-class entries in the Submodules panel. You can open any submodule right in the same window and come back to the parent through the breadcrumb.

The Submodules panel (icon rail, left sidebar) lists every submodule in the current repository along with its currently checked-out commit.

A warning indicator appears next to a submodule if:

  • The checked-out commit does not match the pointer in the parent repo.
  • The submodule directory is missing (not initialised).

Double-click an initialised submodule row, or right-click it and choose Open in Wyrmflow. Wyrm switches the current view to the submodule’s full log, with its own history and operations, and adds it to the breadcrumb at the top. Click the × on the submodule’s breadcrumb chip to return to the parent.

  1. Open the submodule and check out the commit you want the parent to point at (for example, right-click it → New child).
  2. Go back to the parent repository through the breadcrumb. The submodule’s row now shows that its checked-out commit differs from the recorded pointer.
  3. Right-click the row → Apply pointer to @, or click the row’s Apply button.

Wyrm writes the submodule’s current commit into the parent’s working-copy change (@). Start a New child (or squash) in the parent to seal it in a commit.

If a submodule is listed but not initialised, click Initialize submodule in the Submodules panel. Wyrm runs git submodule update --init for that entry.

  • Recursive submodules (submodules of submodules) are displayed but not deeply navigable in the current release.
  • Submodule operations are git-backed and go through jj’s git coexistence layer — jj itself does not natively manage submodules.