add sup-import-dump: import message state in sup-dump format
authorSascha Silbe <sascha-pgp@silbe.org>
Wed, 19 Jan 2011 13:52:15 +0000 (14:52 +0100)
committerRich Lane <rlane@club.cc.cmu.edu>
Thu, 20 Jan 2011 04:04:14 +0000 (20:04 -0800)
commitbd57bbd79f2b307f032d4cd3565000c8dd300b5b
tree83ed741222c586041e788bb6e5d08e904ae29b07
parent02fbc3c8bb5e82a3ea67c2dd239bc3ccca36049e
add sup-import-dump: import message state in sup-dump format

sup-import-dump imports message state as exported by sup-dump into the index.
It is a direct replacement for the sup-sync --restored functionality that got
lost when merging the maildir branch.
Unlike sup-sync it operates on the index only, so it's fast enough for
periodically importing full dumps to keep multiple sup installations
synchronised.
It should also be easy enough to add support for a "diff" style format that
would allow replaying "logs" if sup were enhanced to write those in the
future.

To give some rough numbers:

Dump file contains 78104 lines, index about 600k entries. 410 entries from the
dump file don't match the index and cause index updates. Transaction mode is
used for all runs.
Cold cache, dry run: 138s real time, 53s user+system
Hot cache, dry run: 42s real time, 40s user+system
Hot cache, changes written to disk: 55s real time, 44s user+system
Hot cache, no updates: 43s real time, 41s user+system

Signed-off-by: Sascha Silbe <sascha-pgp@silbe.org>
bin/sup-import-dump [new file with mode: 0644]
lib/sup/index.rb