View Ticket
Not logged in
Ticket UUID: db4ce49690ba13eedda7221cf3bebbef29787158
Title: Files with attributes not overwritten
Status: Closed Type: Code_Defect
Severity: Important Priority:
Subsystem: Resolution: Works_As_Designed
Last Modified: 2011-09-08 19:29:19
Version Found In: 20100124175507
Description & Comments:
If a file added to a repository has any attributes (hidden, read-only, system), it will commit without error, but if the file exists when a check-out occurs it cannot be overwritten.

Fossil displays:

fossil: unable to open file "C:/Users/Doug/fossil/hidden_file.txt" for writing
The file cannot be removed from the repository until a full check-out has occurred, so the file has to be manually removed from the file system first.

This happens whether fossil is run as an administrator or not.

Script:

echo "test data" > hidden_file.txt
attrib +h hidden_file.txt
fossil new hidden-file-test.fossil
fossil open hidden-file-test.fossil
fossil add hidden_file.txt
fossil setting clearsign 0
fossil commit -m "Add hidden file"
fossil close
fossil open hidden-file-test.fossil
fossil rm hidden_file.txt
fossil commit -m "rm test"
fossil close

rwilson added on 2010-01-29 01:43:09:
i think this works as designed; fossil does not preserve file attributes (by design) and the operating system doesn't allow fossil to overwrite hidden files - not fossil's fault. perhaps the design could improve by adding some features to ignore certain file types or attributes on fossil add, but that is another topic.