pub struct GitRepository {
pub proc: Option<Arc<DaggerSessionProc>>,
pub selection: Selection,
pub graphql_client: DynGraphQLClient,
}Fields§
§proc: Option<Arc<DaggerSessionProc>>§selection: Selection§graphql_client: DynGraphQLClientImplementations§
Source§impl GitRepository
impl GitRepository
Sourcepub async fn id(&self) -> Result<Id, DaggerError>
pub async fn id(&self) -> Result<Id, DaggerError>
A unique identifier for this GitRepository.
Sourcepub fn head(&self) -> GitRef
pub fn head(&self) -> GitRef
Returns details for HEAD.
§Arguments
opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub fn head_opts(&self, opts: GitRepositoryHeadOpts) -> GitRef
pub fn head_opts(&self, opts: GitRepositoryHeadOpts) -> GitRef
Returns details for HEAD.
§Arguments
opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub fn ref(&self, name: impl Into<String>) -> GitRef
pub fn ref(&self, name: impl Into<String>) -> GitRef
Returns details of a ref.
§Arguments
name- Ref’s name (can be a commit identifier, a tag name, a branch name, or a fully-qualified ref).
Commit identifiers may be abbreviated: an unambiguous hex prefix (4-40 characters) of a commit SHA resolves like git rev-parse, with named refs taking precedence. Abbreviated SHAs resolve against locally available objects, so remote repositories (resolved via ls-remote) can only expand prefixes of already-fetched commits; use the full SHA or a named ref otherwise.
The name may be followed by git revision suffixes, applied left to right: ~N follows first parents N times and ^N selects the Nth parent (~ and ^ mean 1, ^0 is the commit itself), e.g. HEAD~3, main^2 or abc1234~2. The result is a detached ref of the resulting commit; remote repositories fetch the history the walk needs. Other git revision syntax (^{...}, @{...}, :path, ranges) is not supported.
A repository derived from a remote one (e.g. a workspace’s history after a snapshot or commit) resolves names and commits it does not contain itself through that remote, with its authentication. Its branches and tags listings include the remote’s.
opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub fn ref_opts(
&self,
name: impl Into<String>,
opts: GitRepositoryRefOpts,
) -> GitRef
pub fn ref_opts( &self, name: impl Into<String>, opts: GitRepositoryRefOpts, ) -> GitRef
Returns details of a ref.
§Arguments
name- Ref’s name (can be a commit identifier, a tag name, a branch name, or a fully-qualified ref).
Commit identifiers may be abbreviated: an unambiguous hex prefix (4-40 characters) of a commit SHA resolves like git rev-parse, with named refs taking precedence. Abbreviated SHAs resolve against locally available objects, so remote repositories (resolved via ls-remote) can only expand prefixes of already-fetched commits; use the full SHA or a named ref otherwise.
The name may be followed by git revision suffixes, applied left to right: ~N follows first parents N times and ^N selects the Nth parent (~ and ^ mean 1, ^0 is the commit itself), e.g. HEAD~3, main^2 or abc1234~2. The result is a detached ref of the resulting commit; remote repositories fetch the history the walk needs. Other git revision syntax (^{...}, @{...}, :path, ranges) is not supported.
A repository derived from a remote one (e.g. a workspace’s history after a snapshot or commit) resolves names and commits it does not contain itself through that remote, with its authentication. Its branches and tags listings include the remote’s.
opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub fn branch(&self, name: impl Into<String>) -> GitRef
pub fn branch(&self, name: impl Into<String>) -> GitRef
Returns details of a branch.
§Arguments
name- Branch’s name (e.g., “main”).opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub fn branch_opts(
&self,
name: impl Into<String>,
opts: GitRepositoryBranchOpts,
) -> GitRef
pub fn branch_opts( &self, name: impl Into<String>, opts: GitRepositoryBranchOpts, ) -> GitRef
Returns details of a branch.
§Arguments
name- Branch’s name (e.g., “main”).opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub fn tag(&self, name: impl Into<String>) -> GitRef
pub fn tag(&self, name: impl Into<String>) -> GitRef
Returns details of a tag.
§Arguments
name- Tag’s name (e.g., “v0.3.9”).opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub fn tag_opts(
&self,
name: impl Into<String>,
opts: GitRepositoryTagOpts,
) -> GitRef
pub fn tag_opts( &self, name: impl Into<String>, opts: GitRepositoryTagOpts, ) -> GitRef
Returns details of a tag.
§Arguments
name- Tag’s name (e.g., “v0.3.9”).opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub fn commit(&self, id: impl Into<String>) -> GitCommit
pub fn commit(&self, id: impl Into<String>) -> GitCommit
Returns details of a commit.
§Arguments
id- Identifier of the commit (e.g., “b6315d8f2810962c601af73f86831f6866ea798b”).
May be abbreviated to an unambiguous hex prefix (4-40 characters), which is expanded against locally available objects. Remote repositories (resolved via ls-remote) can only expand prefixes of already-fetched commits; use the full SHA otherwise.
Sourcepub fn latest(&self) -> GitRef
pub fn latest(&self) -> GitRef
Return the latest stable release tag, falling back to HEAD when no release exists. Release selection accepts an optional “v” prefix, incomplete versions, and zero-padded numeric components. This operation is pinned unless noLock is enabled.
§Arguments
opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub fn latest_opts<'a>(&self, opts: GitRepositoryLatestOpts<'a>) -> GitRef
pub fn latest_opts<'a>(&self, opts: GitRepositoryLatestOpts<'a>) -> GitRef
Return the latest stable release tag, falling back to HEAD when no release exists. Release selection accepts an optional “v” prefix, incomplete versions, and zero-padded numeric components. This operation is pinned unless noLock is enabled.
§Arguments
opt- optional argument, see inner type for documentation, use_opts to use
tags that match any of the given glob patterns.
§Arguments
opt- optional argument, see inner type for documentation, use_opts to use
tags that match any of the given glob patterns.
§Arguments
opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub async fn branches(&self) -> Result<Vec<String>, DaggerError>
pub async fn branches(&self) -> Result<Vec<String>, DaggerError>
branches that match any of the given glob patterns.
§Arguments
opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub async fn branches_opts<'a>(
&self,
opts: GitRepositoryBranchesOpts<'a>,
) -> Result<Vec<String>, DaggerError>
pub async fn branches_opts<'a>( &self, opts: GitRepositoryBranchesOpts<'a>, ) -> Result<Vec<String>, DaggerError>
branches that match any of the given glob patterns.
§Arguments
opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub fn bundle(&self, refs: Vec<impl Into<String>>) -> GitBundle
pub fn bundle(&self, refs: Vec<impl Into<String>>) -> GitBundle
Pack the given refs and the objects needed to reconstruct them into a Git bundle.
§Arguments
refs- Refs to advertise in the bundle. At least one named ref is required.opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub fn bundle_opts(
&self,
refs: Vec<impl Into<String>>,
opts: GitRepositoryBundleOpts,
) -> GitBundle
pub fn bundle_opts( &self, refs: Vec<impl Into<String>>, opts: GitRepositoryBundleOpts, ) -> GitBundle
Pack the given refs and the objects needed to reconstruct them into a Git bundle.
§Arguments
refs- Refs to advertise in the bundle. At least one named ref is required.opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub fn with_bundle(&self, bundle: impl IntoID<Id>) -> GitRepository
pub fn with_bundle(&self, bundle: impl IntoID<Id>) -> GitRepository
Import a Git bundle after fetching and verifying all of its prerequisites.
§Arguments
bundle- The Git bundle to import.opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub fn with_bundle_opts<'a>(
&self,
bundle: impl IntoID<Id>,
opts: GitRepositoryWithBundleOpts<'a>,
) -> GitRepository
pub fn with_bundle_opts<'a>( &self, bundle: impl IntoID<Id>, opts: GitRepositoryWithBundleOpts<'a>, ) -> GitRepository
Import a Git bundle after fetching and verifying all of its prerequisites.
§Arguments
bundle- The Git bundle to import.opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub fn with_remote(
&self,
name: impl Into<String>,
url: impl Into<String>,
) -> GitRepository
pub fn with_remote( &self, name: impl Into<String>, url: impl Into<String>, ) -> GitRepository
Register a named remote on this repository, replacing any registered remote of the same name. Registered remotes are recorded in checkouts materialized from this repository (GitRef.tree, Workspace.git.directory), so remote-aware tooling like gh can resolve and fetch from them. The origin remote also routes push when no explicit destination is passed: its push URL, or its URL, becomes the default destination. Routing metadata only, never a credential grant: pushes still authenticate with the caller’s own credentials and require approval as usual.
§Arguments
name- The remote’s name, e.g. “origin” or “upstream”.url- The remote’s fetch URL.opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub fn with_remote_opts<'a>(
&self,
name: impl Into<String>,
url: impl Into<String>,
opts: GitRepositoryWithRemoteOpts<'a>,
) -> GitRepository
pub fn with_remote_opts<'a>( &self, name: impl Into<String>, url: impl Into<String>, opts: GitRepositoryWithRemoteOpts<'a>, ) -> GitRepository
Register a named remote on this repository, replacing any registered remote of the same name. Registered remotes are recorded in checkouts materialized from this repository (GitRef.tree, Workspace.git.directory), so remote-aware tooling like gh can resolve and fetch from them. The origin remote also routes push when no explicit destination is passed: its push URL, or its URL, becomes the default destination. Routing metadata only, never a credential grant: pushes still authenticate with the caller’s own credentials and require approval as usual.
§Arguments
name- The remote’s name, e.g. “origin” or “upstream”.url- The remote’s fetch URL.opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub async fn remotes(&self) -> Result<Vec<GitRemote>, DaggerError>
pub async fn remotes(&self) -> Result<Vec<GitRemote>, DaggerError>
List this repository’s named remotes, with registered remotes overriding configured ones. Does not contact remote servers.
Sourcepub fn remote(&self, name: impl Into<String>) -> GitRemote
pub fn remote(&self, name: impl Into<String>) -> GitRemote
Look up a remote by name. Fails when the remote does not exist.
§Arguments
name- The remote’s name.
Sourcepub async fn default_remote(&self) -> Result<Option<GitRemote>, DaggerError>
pub async fn default_remote(&self) -> Result<Option<GitRemote>, DaggerError>
Return the sole remote, otherwise origin, otherwise the selected branch’s upstream remote, otherwise null. Frozen workspaces retain their captured upstream selection. Does not contact remote servers.
Sourcepub fn with_contents(&self, directory: impl IntoID<Id>) -> GitRepository
pub fn with_contents(&self, directory: impl IntoID<Id>) -> GitRepository
Replace this repository’s storage with the supplied self-contained Git repository, retaining its logical URL and push destinations. Accepts a whole checkout (including .git and pending file edits), .git contents, or a bare repository. Does not initialize a repository, merge histories, or modify either input. The receiver’s logical routing wins over the supplied Git configuration; that configuration is not rewritten. Use Directory.asGit to open the supplied repository without retaining the receiver’s routing. When the receiver is a remote repository (or was derived from one), that remote is retained with its authentication: refs the supplied storage does not contain resolve through it.
§Arguments
directory- Existing Git storage to open. Git metadata and object dependencies must be contained in this directory.
Sourcepub fn uncommitted(&self) -> Changeset
pub fn uncommitted(&self) -> Changeset
Returns the changeset of uncommitted changes in the git repository.
Sourcepub fn as_workspace(&self) -> Workspace
pub fn as_workspace(&self) -> Workspace
Creates a synthetic workspace from this repository’s HEAD and uncommitted file changes. Pending changes are applied at the repository root. The staging split is not preserved. The source repository is not modified.
§Arguments
opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub fn as_workspace_opts<'a>(
&self,
opts: GitRepositoryAsWorkspaceOpts<'a>,
) -> Workspace
pub fn as_workspace_opts<'a>( &self, opts: GitRepositoryAsWorkspaceOpts<'a>, ) -> Workspace
Creates a synthetic workspace from this repository’s HEAD and uncommitted file changes. Pending changes are applied at the repository root. The staging split is not preserved. The source repository is not modified.
§Arguments
opt- optional argument, see inner type for documentation, use_opts to use
Sourcepub async fn url(&self) -> Result<String, DaggerError>
pub async fn url(&self) -> Result<String, DaggerError>
The URL of the git repository.
Trait Implementations§
Source§impl Clone for GitRepository
impl Clone for GitRepository
Source§impl IntoID<Id> for GitRepository
impl IntoID<Id> for GitRepository
Source§impl Loadable for GitRepository
impl Loadable for GitRepository
Source§fn graphql_type() -> &'static str
fn graphql_type() -> &'static str
"Container").Source§fn from_query(
proc: Option<Arc<DaggerSessionProc>>,
selection: Selection,
graphql_client: DynGraphQLClient,
) -> Self
fn from_query( proc: Option<Arc<DaggerSessionProc>>, selection: Selection, graphql_client: DynGraphQLClient, ) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for GitRepository
impl !UnwindSafe for GitRepository
impl Freeze for GitRepository
impl Send for GitRepository
impl Sync for GitRepository
impl Unpin for GitRepository
impl UnsafeUnpin for GitRepository
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more