The checkin at
https://www.fossil-scm.org/fossil/info/f36ac49ddcf8d48c32494026ba0ee52c9891e6df
shows a proposed schema change in Fossil, which if moved to trunk would
require everybody to run "fossil rebuild all".

It has been over three years since we have required a "fossil rebuild" on
update.  I'm a little concerned that this change might be too disruptive.

Furthermore, the change is not strictly necessary.  The change adds a new
field to the PLINK table that is used for error checking only.  The new
PLINK.BASEID field points to the baseline manifest for a delta manifest.
The field is always NULL for manifests that are not deltas, which is the
usual case for most repositories.

The new field is used to ensure that one does not "purge" a baseline
manifest without also purging all its deltas, since to do otherwise would
render the deltas unusable.  It should be impossible to do that because the
purge command removes a checkin and all its descendents and all deltas of a
baseline manifest must be decendants of the baseline.  But it feels nice to
have that extra check in place, just as an added safety measure.  In a
version control system, it is VERY important that errors and/or bugs not
destroy history.  The schema change simply adds another layer of defense to
make sure that never happens.

QUESTION:

So should I go forward with the schema change and make everybody run
"fossil rebuild all" for the first time in recent memory?  Or am I being
excessively paranoid?

-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
fossil-dev mailing list
fossil-dev@lists.fossil-scm.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/fossil-dev

Reply via email to