Manually merging two archives? [Yes, see thread]

At some point I ended up archiving in two copies of OF 1 on two different machines. I didn’t realize it until I upgraded to OF 2.

I preserved both old archives and updated the largest archive with OF 2 when I Archived for the first time. Now I have an old archive file I’d like to merge with the OF 2 archive. I read somewhere the only way to fix this is to drag items from one archive file to the other. When I opened both archives in OF 2 and tested this with a task, the task reverted to incomplete in the destination archive. This is really not what I’d like.

How can I manually merge two archives and retain the “archived” state?

This sounds like it might be a bug! If you can report this, we can start taking a look.

In the meantime, can you use the Changed perspective in your larger archive to find the tasks you copied over, then mark them complete? (Disclaimer: I haven’t tried this myself - I’m not exactly sure how the last-modified date will translate in this situation.)

1 Like

I have a similar situation. I have archives on two different machines, which I’d like to integrate with my active DB and then purge into one new archive. Using OF2 for OSX, is this easy to do?

Yep! You can just open the archive databases and your main database in separate windows, then drag and drop tasks, projects, or folders between them.

2 Likes

Be aware that if you copy/paste or drag/drop like this, then the associated metadata will also be updated and no longer be historically accurate. For example, action added and modified date attributes will be updated to the current date.

This means that if you’re OCD like me it’ll drive you batty. Additionally, if you use those attributes like I do [e.g. to track when projects were dropped], or average action life, then those calculations will no longer be possible because the metadata will be inaccurate.

Here’s how I recently merged two archives together. My current archive, and an older one from about 3 years ago. After the merge I have a little more than 5 years of history now. Your mileage may vary so make backups of everything before you attempt what I do below. Also note that I did all of this with OF 1. Finally, be prepared for several minutes of beachball fun, but bear through it.

How to merge two Archives

  1. Open your second archive file in OmniFocus. Show all, and set all criteria to any status so that everything is visible.
    a. Export an OmniFocus Backup of this [File->Export->Backup Document (Omnifocus)]

  2. Open your current primary/master OmniFocus database. Create a database backup [File->Back up Database].
    a. You will need this to restore your current data at the end of this process.

  3. While in your primary OF database, restore the database from step 1 [File->Revert to Database Backup…]
    a. You’re second archive should now be loaded as your primary database.

  4. Archive your old data [File->Move Old Data to Archive]
    a. Choose an appropriate date (e.g. I chose today since I wanted everything from the old archive)
    b. After a lot of beachball this will finish and your primary Archive should now contain a merge of your primary and second archives.

  5. Confirm Archive integrity by opening it and checking over data
    a. Archive may be painfully slow due to transactions.
    b. Compact your Archive database [File->Compact Database]
    c. This will create a single compressed XML file of your data
    i. My Archive of about 36,000 actions takes ~60 seconds to open in OF 1 after compact

  6. Close all those windows and restore your primary database from the backup in step 2.

After all said and done, your primary archive should now be merged with the second.

3 Likes

Very interesting workflow @jmstacey!

I’m conscious OF2 has changed some of the menu items, so I wonder if it handles these things differently? Can anyone confirm that the above does work on OF2 as well?

Also, I have my OF synced across multiple devices via the OmniSync server.
Does that require change to the recipe?

Thanks! Chris

Jmstacey, did your recipe preserve Created and Modified dates? Do I understand correctly that it will move only completed items, if by any chance the source archive also had few active ones, in active projects? Folders structure preserved intact, correct?

This approach should still work in v4, for those who are wondering.