View Ticket
Not logged in
Ticket UUID: 22a59e9a3455d8ecb883f62e775914714c967d8b
Title: Existing file named "MANIFEST" always overwritten
Status: Fixed Type: Code_Defect
Severity: Severe Priority:
Subsystem: Resolution: Fixed
Last Modified: 2010-09-29 13:20:26
Version Found In:
Description & Comments:
CPAN distributions have a boilerplate set of files that need to be created - one of these is called "MANIFEST" and lists all the files to be packaged within the distribution. If the fossil repository is created inside the base folder and this file added fossil will overwrite this file with its own data and never be able to commit as the checksums change, displaying an error message fossil: tree checksums before and after commit do not match.

Sadly I am unable to have this bug recreate exactly 100% of the time. It may not happen after the first commit but rather after a couple of commits - however eventually it does and the fossil repository is essentially worthless as it can no longer commit since the MANIFEST file is being tracked, yet also written by fossil at the same time. Currently the only fix I have of this is to create the repository outside of the base directory as the temp files that fossil leaves as droppings (_FOSSIL_, manifest etc) are written elsewhere.


wolfgang added on 2010-09-27 18:16:00:
on my branch wolfgangFormat2CSS_2 i have added an experimental setting, to change the filename of the generated manifest files (checkin [9978d2aba6]).


drh added on 2010-09-29 13:20:26:
Back out the change to allow the name of the "manifest" file to be changed since that approach causes complications in distributed systems. Instead, modify "add" to allow files named "manifest" and "manifest.uuid" to be checked in and if such files are checked in, "checkout" and "update" will no longer overwrite them.