Log inGet started
World

Builtin Library

Branchmain
Branchesmainpublish
Commite8beb5604c

README.md

zm.pull

git pull: fetch origin/<branch> and merge it into the session branch. With no branch it pulls the session branch's own origin branch.

  • Strictly behind: the session branch fast-forwards to the fetched commit.
  • Diverged: a two-parent merge commit lands, with the same conflict-marker flow as zm.merge. Resolve the markers, then zm.add + zm.commit; zm.merge("", { abort = true }) abandons it.
  • Already contains it: nothing changes.
  • { ffOnly = true } refuses anything but a fast-forward. { noFf = true } always makes a merge commit.

A local change on a path the pull rewrites refuses it with git's message naming the paths; every other local change stays in the working tree. A scene's unsaved live edits count as a local change to its scene.json: a fast-forward that rewrites that scene refuses, naming the scene and how to save or discard the edits, and a merge commit refuses over any scene holding them. zm.fetch first shows what a pull would do.

Updating an installed asset or a library is not a pull. Use the zeromind toolbox for that: zeromind.updates lists what has updates, zeromind.reviewUpdate shows what one changes, and zeromind.update applies it without committing.