Merging two versions of the same project


So this might sound weird but for various reasons (2 computers, failed Dropbox sync, failed hdd on a MBA…) I ended up developing two versions of the same project and I would like to merge them, to compare the files and to retain the most recent. Is that even possible automatically?

Now why would I want to do that?

I have hundreds (yes…) of files that I use to take notes in the archives or at the library for instance. So let’s take that file “Notarial Archives NOLA, Pedesclaux, 1793, V16”.
On one project I took some notes back in 2011, then on the other project I have more recent notes added to the same file.
Apart from opening both projects and comparing all the files on two monitors in order to sort them out, what could I do? I am at a loss here…
Any help…
All best.

Have you thought of opening them both side-by-side in narrow windows with the binder and a narrow editor window so you can have a sight on content if the binder title isn’t enough; choose one of the two to be master and drag any files which you think may differ into the master; close the other and then do your comparison in a split window in that master project?


Mr X

You can import another entire Scrivener project; then you would just split the editor, load version 1 in the left, version 2 in the right, and then do lots of scrolling.

If you don’t mind poking around in the project and messing up your Binder, you can do this with Finder, too.

  • Back up everything. What you are about to do is extremely destructive.

  • Yes, I really meant that part. Seriously, take backups NOW.

  • In separate Finder windows, open both projects, select the option to Show Package Contents, and navigate to the Files/Docs subfolder.

  • Create a third folder somewhere convenient. I’ll call it “Current” for convenience. Drag all of the contents of both File/Docs subfolders into it. Use Finder to sort by name, to put like files next to each other. Use the date stamps to identify the older version, and drag it out to a fourth folder. (You can probably delete it, but I wouldn’t just yet.)

  • Create a brand new Scrivener project. Import the entire contents of the “Current” folder into it.

The result will be pretty ugly, essentially a flat list of unhelpfully named files. Whether this is an improvement over the other methods suggested depends on how mangled the original projects were.

A less destructive, but similar, approach would be to import one project into the other, then use Outline view to sort by name and compare dates. That might be clumsy if you have a lot of subfolders, though.


I use the modification date method myself, when I end up with a forked project for whatever reason. Here is a way to make this relatively painless:

  • Open both projects at once and for each, carry out the following steps:

[list][*] Set Project Search to search for “All” if necessary.

  • Search for an asterisk (*). This will simply find all files in the project so you that the entire project exists in one single flat list.
  • Click on the “Search Results” header bar to load all of the files into the main editor.
  • Add the “Modification Date” column if necessary, and click it to sort. This will take a few seconds if you have hundreds of files.
    ] Now you can hopefully go to the date of the fork and just work up from there, comparing the two project’s Outliner views. You can drag and drop the modified items from the Outliner in Project A into Project B’s Binder, and once you get all of the files modified in A over to B, you can either replace the older ones in B or use copy and paste to update them.[/*:m][/list:u]
    One thing to note is that Modification Date tracks all changes you may make to a file, which will be useful in your case here, since even adding a keyword or changing the title of something would be a significant action.