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