# Create a dummy repo and add one change pijul init echo "# Bonjour!" > hello.md set hash (pijul record -am 'Initial record' hello.md | sd 'Hash: ' '') # Remove this change pijul unrecord $hash # Will show no changes (apart from empty starting point) pijul log # Now add some new changes. These will be lost below: echo "# ¡Buenos Días!" > hello.md # Apply the old change back over the repo pijul apply $hash # And we've silently lost some of our work: cat hello.md
This is in fish rather than a posix shell, but hopefully you get the idea:
Applying a change to the channel overwrites the files in the repo, even if there are unrecorded changes. This is in contrast to
pijul channel switch, which will refuse to change channels if there are unrecorded changes (because these would be overwritten).