Writing History Diff?

Is there a way to compare the current version of a project and a backup saved yesterday, to see what I have edited from yesterday to today? Something like the diff in git would be nice.

Have you tried Snapshots?

Yes. But in some situations I don’t have a snapshot of the previous version but a backup file.

This is going to be even more cumbersome, but off the top of my head (I’m sure someone will come up with a way better idea): You could sync both Projects to (different!) external folders, as plain text. And then diff the differences of those. :thinking:

I’d compile them to docx or odt and compare them in Pages (or Word or LibreOffice).

1 Like

Ditto. Word’s Compare function takes two docs and generates a “tracked changes” doc representing the differences between them. Very handy.

1 Like

You can see which files were edited by checking the Modified dates in the current version.

Once you have that, you can “cheat” the snapshot function as follows:

  • Open the backup copy and the current copy side by side.

  • Drag a changed file from the backup into the current copy. I’d choose a “neutral” location, not in the main Draft folder. Make a snapshot of it.

  • Copy the entire contents of the current version of that file, and paste over the backup version.

  • Compare the pasted version with the snapshot as normal.

Whether this is a workable solution obviously depends on the number of files involved. Second thoughts about a concluding paragraph, sure. Complete rewrite of an entire novel, maybe not.

There is a pretty good method for this in fact (currently Mac-only, unfortunately):

  1. Extract a copy of the backed up project somewhere temporary, if necessary. This will be a passive scan of it, but if you’re feeling cautious do it on a copy if it isn’t zipped.
  2. From the main version use File ▸ Import ▸ Scrivener Project
  3. The software will detect that this is different revision of the same project, and offer to merge the two. Whether to back up before merging is up to you. Click Import and Merge to proceed.

After the two projects are analysed and merged, a “Merged Documents” collection will be created for you, listing everything that has been modified. What it will also do for you is create snapshots. The older copy will end up in the snapshot, so if there were any more recent edits in the backup, the new project should now represent the most up to date copy of both, with snapshots documenting what it was before. Now that you have snapshots, you can use the Compare feature as described above.

As hinted at above, this feature would normally be used to merge two divergent copies of a project. Perhaps you use it as a collaboration tool, or a way to fix a personal mistake of editing two different copies separately before realising it. However you use it, like I say, after merge you’ll have the best available copy. In this case though, we are mainly using it to get a list of changes and snapshots, and in theory nothing in the binder will actually be updated.

You can read up on this feature in §5.3.2, under subheading Merging Changes from One Project into Another.

1 Like