However, fossil does lacks some important features that svn, hg and git have:
* Fossil does not support versioning directories. In fossil only files are first class objects. It is not possible to commit an empty directory. This is a big shortcoming that all other major SCMs address.
* Cannot perform a "fossil diff" for just a directory and its descendants - i.e., no fossil equivalent of the following:
# produce a diff for this directory and its descendants
git diff .
* A "fossil merge" between distributed repos it will give commit attribution to the wrong user for all files in the merge - changes will be recorded as being made by the user performing the merge. This is particularly annoying because it makes "fossil blame" on a given file less effective when pinpointing who introduced what change.There are other fossil issues, but those are the biggest ones that come to mind.