CVSup src file Edits almost alway triggering Checksum mismatch
and Fixup
Simon L. Nielsen
simon at FreeBSD.org
Tue Aug 18 18:47:36 UTC 2009
On 2009.08.15 11:34:41 +1000, John Marshall wrote:
> These days, almost every file updated in the src tree triggers a
> Checksum mismatch, full file download and Fixup. I'm not seeing this
> for doc, ports, etc.; just src.
>
[...]
> Edit src/release/Makefile,v
> src/release/Makefile,v: Checksum mismatch -- will transfer entire file
Hey,
This is unfortunatly a known problem. The problem seems to be that
the actually diff sections in the ,v files are at time re-oredered and
that breaks CVSup's assumptions about the ,v files.
The ,v are still valid in both before and after reorder, the order is
just changed. Since cvsup's normal acelerated CVS mirror mode works
by knowning how thw ,v files are layed out, cvsup then can just see
that the ,v file does not look like it expects, and it does the safe
thing and transfer/sync the entire file. I actually suspect if CVSup
didn't do this but just transfered the delta's to the ,v files, the
resulting ,v file on the client would be different, but working and
valid - but this is a guess.
kib@ (AFAIR) first noticed that this happened for security updates
which went to multiple branches at once in the spring, but it was
still only for a few files.
After the upgrade of CVS to 1.12 in base (and therefor on repoman -
the master CVS server) it seems to be that the reason all files are
now have this problem - so CVS 1.12 probably made it worse.
I suspect the reason it happens for src, but not ports or doc, is the
branches. When there are no branches in a ,v file the ordering is
simply newest -> oldest, but when there are branches I don't think the
order is clear.
So, in short I don't see any easy solutions to this, and especially
given the fact that in the long run CVS/CVSup will probably be
replaced by something else for distributing FreeBSD source, I don't
think it will be that easy to find someone to "fix" either CVSup or
CVS.
PS. Just to be clear CVS/CVSup is not going away any time soon (though
there are no timeline planed yet), but 3-5 years down the line I
really doubt we will be using CVSup.
--
Simon L. Nielsen
Hats: FreeBSD.org cluster, cvs, and svn admin teams
More information about the freebsd-hubs
mailing list