In two previous posts, Scrivener Snapshots in Ulysses and Use ‘Snapshots’ in Ulysses to Version Control Your Writing, I covered saving versions of your work into a ‘snapshots’ group or library within Ulysses. If you haven’t already read those posts, it will help if you do so now.
In this post, I am going to focus on the macOS version of Ulysses, showing how to access those snapshots quickly and easily; how to compare them to other versions; and how to restore them to their original location, if you want to revert to a previous version.
Accessing the Snapshots
On macOS, Ulysses’ second editor allows you to view more than one sheet at a time, with either a vertical or horizontal split. This system is intelligent enough to remember the group or sheet you had open in the Second Editor, even when it is not active. We can take advantage of this and effectively ‘pin’ the Snapshots group we created in the previous posts on this subject, to that secondary view.
Hitting Opt-Cmd-3 on macOS brings up the second editor. It also switches focus automatically to that second editor. Continually pressing the same key combination cycles and switches between the primary and second editors and closing down and reopening the second editor view, much like a carousel.
Although we only really want to utilise Ulysses’ ability to ‘pin’ a group in the second editor, it is useful to understand how to open and close and manipulate this second editor view. If you return focus to the first editor and hit Opt-Cmd-3, then that closes the second editor.
With the second editor open, by selecting the Snapshots group from Ulysses’ library, we gain access to the full list of snapshots we have saved into that group. Even if we close the second editor, its contents remain ‘pinned’ until we choose to focus the second editor on a different group or sheet.
Hitting Cmd-Opt-O brings up Ulysses’ Quick Open search function within the active group — in this case our Snapshots group — rather than the entire Library:
Our search for the sheet’s title shows that there are two snapshots matching our search, both with dates and times against them, so we can see which is the latest version. If I click on the one I want to view, it will open in the Second Editor.
On macOS, Ulysses allows dual scrolling of the two editors by holding down the Opt key whilst scrolling through the sheets.
This makes it easy to see where changes have been made between the two versions. If you want to ‘restore’ some text from the snapshotted version, then you can copy and paste it from there into the current working version.
A markup-based writing system
The changes are more visible because Ulysses utilises Markdown, a markup-based system, rather than the styles-based systems used by the likes of Microsoft Word and Scrivener. You can see where you have deleted text and added text (if you chose to Mark added text with the double colon tags, like I sometimes do) simply by looking out for the colour-coded syntax as you scroll. But Ulysses’ Revision Mode brings changes made to sheets into focus in an even more granular way.
I am going to take a more in-depth look at Revision Mode in Ulysses in a future post. However, if you activate Revision Mode with the keyboard shortcut Shift-Cmd-R, or by choosing Revision from Ulysses’ toolbar, you are presented with a list of changes to review.
Make sure you are viewing the Revision tab (the speech bubble symbol), rather than the Advanced Text Check tab. Then you can isolate the list of changes made to a sheet by type.
Unlike Scrivener’s Snapshot feature, this does not give you a list of differences between two versions of your text. But by switching focus between the primary editor and second editor and reviewing the deletions, marked text, comments, and annotations on each, you can track down differences between the two. This, coupled with the dual scrolling feature and Ulysses’ colour-coded syntax, provides a handy visual aid for comparing versions.
Restoring a version
I have already mentioned how you can copy and paste between both editors. This is ideal for restoring snippets of text mistakenly deleted from your latest version.
But let’s imagine that you have experimented writing a scene in two radically different ways. And let’s say that the experiment did not pay off, and you now want to put the prior version back to its original location.
Simply drag the version you would like to restore from the snapshots library to where it belongs. Then drag and drop the version that did not work either into the snapshots folder, or into your deleted scenes folder, if you have such a thing (and if you don’t, I’d recommend setting one up, as you should never throw away any of your writing).
Snapshots in Ulysses are a bit of a hack. The developers don’t advertise their software as having a named version control system or a snapshot system. This is a workflow that I have devised, but in many ways I think it is just as powerful as Scrivener’s dedicated snapshot feature, but also more flexible. Not least because it works on the Mac, the iPad and the iPhone. Whilst Scrivener’s snapshots only work on the Mac.
And with that in mind, I’ll be covering how to manage snapshots or named versions in Ulysses on iPadOS and iOS in a future post.
Until then, happy snapshotting!