State file that stores current revision and pending changesets. It behaves as an iterator, and source backends loop over not yet applied changesets, calling .applied() after each one: that writes the applied changeset in a *journal* file, much more atomic than rewriting the whole archive each time. When the source backend finishes it's job, either because there are no more pending changeset or stopped by an error, it calls .finalize(), that in presence of a journal file adjust the archive filtering out already applied changesets. Should an hard error prevent .finalize() call, it will happen automatically next time the state file is loaded.
Public Member Functions
Private Member Functions