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:
<pre>
fossil: unable to open file for writing
</pre>
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:
<pre>
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
</pre>