Philip Martin <philip.mar...@wandisco.com> writes:

> When the commit process finds a representation in the rep-cache the only
> sanity check that happens is that the revision must be less than or
> equal to HEAD.

This check is a bit worrying.  The check is supposed to handle the case
where the rep-cache is newer than the repository files for some reason
(hotcopy, rsync, backup/restore, something like that) but it doesn't
really do the right thing.  The check does correctly identify a bogus
cache entry as being newer than HEAD but the response is wrong.  At
present it simply ignores the bogus entry for the commit in progress but
that leaves the bogus entry to be used by later commits when the HEAD
check no longer identifies it as bogus.

When we detect a cache entry newer than HEAD we should remove the entry
from the cache at the very least.  It would probably be better to remove
all entries newer than HEAD but that would be expensive unless we
introduce an index on revision.  We have bumped the FSFS format in 1.8
so I guess we should have upgrade add an index.

-- 
Certified & Supported Apache Subversion Downloads:
http://www.wandisco.com/subversion/download

Reply via email to