When a repository is cloned lazily, darcs adds an entry in _darcs/prefs/sources, so whenever you use a commands which needs to work with all the patches, darcs try to fetch the missing patches using the entries from the cache, since the original repository was added to sources, it is also added to the cache (since darcs relies on the source file to load the cache).
You have all the code & fetch patches as needed. Not the same as a shallow clone, but if trying to not download the whole project history, this serves a smiliar goal.
If all data is stored as patches, then no shallow cloning
— https://darcs.net/Internals/CacheSystem#lazy-repositories-and-the-cache-system
You have all the code & fetch patches as needed. Not the same as a shallow clone, but if trying to not download the whole project history, this serves a smiliar goal.