<nowiki><tt>fossil add will happily add all files in current dir, and subdirs if present.Subsequent <nowiki><tt>fossil commit will fail on the subdirectories, though, saying they're not part of the repo.

There is no file_isdir() handling in the code, and even more confusingly, the object-types and style seem different between the two (<tt>add</tt> and blocks.

Could these share a common function that recurses into dirs and returns strings/objects that are the files? Could <nowiki><tt>fossil ci be made to behave same as <nowiki><tt>fossil add