I don't think this special case for empty local repository is useful.  Further down we only add a blob to deferredCheckBlobs if the blob already exists in the local repository.  If the repository is empty, that check is really fast (searching an empty hash map is constant time) and it returns false, so we never put the blob into deferredCheckBlobs.