Priority: low


`push-mirror' currently honors transaction semantics within each
branch, but does not make any guarantees about the ordering between
branches.  As a result, `push-mirror' can install a tag before the
tagged revision.  That can cause a `get' or other operation to
(temporarily) fail.  The solution is probably something like noticing
when a revision is a tag, checking whether the tagged revision is
there, and if not, adding the tag revision and later revisions to the
end of a queue, to be processed later.  Versions might have to be
requeued during queue processing.  If a queue pass is completed
without being able to install anything, something weird has happened.
If a tag refers to a revision on a different archive, `push-mirror'
shouldn't worry about it (though a multi-archive `push-mirror' would).


# tag: Tom Lord Thu Jan 23 02:10:25 2003 (cmd-push-mirror/update-ordering)
#
