That check runs after the clone and asserts the tree actually contains what it needs, because a clone can exit zero and still leave you with a partial tree — a proxy that truncates a large transfer is the usual cause, and a mid-transfer network drop is the other.
Delete the directory and let it clone from scratch. Re-running on top of a broken checkout tries to fetch and check out again, which will not repair a tree that is missing files:
--verbose matters here: the clone output is hidden unless you ask for it, and if the transfer is being cut off the git error usually says so in a line you would otherwise never see.
If you are behind a proxy, also set git config --global http.proxy before retrying. And if you only want to use SDODS rather than work on it, drop --source git entirely — the default installs compiled packages and never clones anything.