pub fn assemble(
target: &Listing,
source: &Listing,
source_root: &Path,
destination: &Path,
verified: Vec<Planned>,
clone_directories: bool,
) -> PlanExpand description
Chooses the subtrees worth cloning in one call and splits the rest into single files.
A subtree qualifies only when both sides record the same tree oid, every blob under it is verified, and the source directory holds exactly the tracked entries and nothing else. That last condition is what keeps untracked and ignored files out of the new worktree: a directory clone copies whatever is on disk, so anything on disk that the tree does not name disqualifies the whole subtree.