skillshare v0.21.8 Release Notes
TL;DR
- Two machines can share one source repo without getting stuck.
pullmerges when both machines committed, instead of failing. .metadata.jsonconflicts resolve themselves. Any other conflict stops the pull cleanly and names the files.- The Git Sync page shows what the remote has and offers Pull when a push is refused.
Pulling after both machines committed
Once this machine and the remote each had commits the other lacked, pull failed with Need to specify how to reconcile divergent branches, in the terminal and on the Git Sync page. A push was refused too, so the only way out was git in a terminal.
pull now merges the two histories, then syncs. Push afterwards to share the merge:
skillshare pull
skillshare pushskillshare update does the same for a tracked repository with local commits.
.metadata.json conflicts resolve themselves
Every install or update rewrites .metadata.json, so after both machines had installed or updated skills, a pull almost always conflicted there. pull now merges that file skill by skill; when both machines changed the same skill, the one installed later wins.
A conflict in any other file stops the pull, undoes the merge and names the files, so the repository is never left half-merged:
pull stopped: this machine and the remote both changed my-skill/SKILL.md; the merge was undone, resolve it with git in ~/.config/skillshare/skills
Git Sync page
- See what the remote has before you push. Opening the page fetches from the remote, and Pull shows how many commits are waiting, such as Pull 2 commits.
- A refused push offers Pull. Instead of git's raw
rejectedmessage, the error says to pull first and puts a Pull button next to it.