pub struct CloneOutcome {Show 19 fields
pub url: String,
pub path: PathBuf,
pub head: CloneHead,
pub checkout_oid: ObjectId,
pub checkout: CloneCheckout,
pub branches_with_commits: Vec<String>,
pub repo: Repository,
pub transfer: TransferStats,
pub branches: u64,
pub tags: u64,
pub files: u64,
pub worktree_bytes: u64,
pub path_collisions: Vec<String>,
pub submodule_paths: Vec<String>,
pub bare: bool,
pub bundle: BundleSeed,
pub filter_sent: bool,
pub promisor: Option<PromisorHandshake>,
pub filter: Option<ObjectFilterSpec>,
}Expand description
Result of a successful clone.
Fields§
§url: StringSource URL string from the options.
path: PathBufDestination path.
head: CloneHeadBranch checked out, or detached tag checkout.
checkout_oid: ObjectIdCommit to check out on that branch.
ObjectId::zero() when the remote default branch has no commits yet.
checkout: CloneCheckoutCheckout disposition after fetch and default-branch setup.
branches_with_commits: Vec<String>Remote-tracking branch names that resolved to a commit (empty unless checkout is
CloneCheckout::UnbornDefaultBranch).
repo: RepositoryOpen handle to the new repository.
transfer: TransferStatsObjects and pack bytes received during the initial fetch.
branches: u64Remote branches fetched (from the fetch ref updates).
Remote tags fetched (from the fetch ref updates).
files: u64Working-tree files checked out (zero when checkout was skipped or not applicable).
worktree_bytes: u64Total size of checked-out files in bytes.
path_collisions: Vec<String>Index paths that collided on a case-insensitive filesystem during checkout.
submodule_paths: Vec<String>Gitlink paths materialized during checkout (submodules grit does not fetch).
bare: boolWhether the destination is a bare repository.
bundle: BundleSeedWhether a bundle from the server’s bundle-uri seeded the clone.
Self::transfer includes what the bundle brought.
filter_sent: boolTrue when the initial fetch sent an object filter and the server applied it.
False while Self::filter is set means the server does not support filter,
so every object came; the clone is still configured as a partial clone, as Git
leaves it (see Self::filter_ignored).
promisor: Option<PromisorHandshake>The promisor-remote exchange of the initial fetch, when the server advertised
promisor remotes.
filter: Option<ObjectFilterSpec>The filter the initial fetch used: CloneOptions::filter, or what
CloneOptions::auto_filter resolved to.
Implementations§
Source§impl CloneOutcome
impl CloneOutcome
Sourcepub fn filter_ignored(&self) -> bool
pub fn filter_ignored(&self) -> bool
Whether a filter was requested but the server does not support filter.
§Returns
true when Self::filter is set but was not sent (Self::filter_sent is
false), so the server sent every object; the clone is still configured as a
partial clone, as Git leaves it.