Living Manuscript Mode

I was reading the other evening about how researchers found reading over old manuscripts fascinating because they could see how the author composed the work.

And I thought, “Awwh. That sucks that when you write on a computer you lose the history of your edits. The raw history. It would be neat if Scrivener had something that supported that.”

So, I turned to this forum.

I saw a thread on the wish list regarding using source control within Scrivener, but I thought my wish is narrow enough that it deserved it’s own thread.

I realize that I can set Scrivener up to backup based on open/close/save, but my opinion is that it isn’t granular enough to make things interesting.

So. Envision this:

You build an autosaving mechanism based on open source SCM software (likely Git) that allows authors to enable a “Live Manuscript Mode,” that automatically saves the changes to a document after X of no activity has occurred or have it function just like a bake-to-disk undo/redo history.

No graphical history log would be exposed to the user within the GUI. If the manuscript mode was turned on then it’d just use the git log.

Advanced users could access the document commit history using the actual Git tool. Plus, as an added bonus, git has the great multi-platform libgit2 library available to slightly ease development of the feature :wink:.

Personally, I wouldn’t care all that much if Live Manuscript Mode didn’t track/version control binaries.

If there was a concern regarding performance, having a toggle for a git repo-per-binder or a git repo-per-document could possibly alleviate the potential stress of committing to disk per word typed/deleted.

Please, sir, can the poor get manuscript history support. Pretty, please? :slight_smile:

I use snapshots for this very purpose.

Yep, snapshots provides what you need for this. There’s even a preference to take snapshots of changed text documents whenever you manually save, so you could, if you wanted, keep a history of every save - although I would think that just taking snapshots manually would be more efficient.