A comparison between two directories representing changes that can be applied.
Summary
Functions
Files and directories that were added in the newer directory.
The newer/upper snapshot.
Return a Git-compatible patch of the changes
The older/lower snapshot to compare against.
Structured per-path diff statistics (kind and line counts) for this changeset.
Returns true if the changeset is empty (i.e. there are no changes).
Applies the diff represented by this changeset to a path on the host.
A unique identifier for this Changeset.
Return a snapshot containing only the created and modified files
Files and directories that existed before and were updated in the newer directory.
Files and directories that were removed. Directories are indicated by a trailing slash, and their child paths are not included.
Force evaluation in the engine.
Add changes to an existing changeset
Add changes from multiple changesets using git octopus merge strategy
Types
Functions
Files and directories that were added in the newer directory.
@spec after_(t()) :: Dagger.Directory.t()
The newer/upper snapshot.
@spec as_patch(t()) :: Dagger.File.t()
Return a Git-compatible patch of the changes
@spec before(t()) :: Dagger.Directory.t()
The older/lower snapshot to compare against.
@spec diff_stats(t()) :: {:ok, [Dagger.DiffStat.t()]} | {:error, term()}
Structured per-path diff statistics (kind and line counts) for this changeset.
Returns true if the changeset is empty (i.e. there are no changes).
Applies the diff represented by this changeset to a path on the host.
@spec id(t()) :: {:ok, Dagger.ChangesetID.t()} | {:error, term()}
A unique identifier for this Changeset.
@spec layer(t()) :: Dagger.Directory.t()
Return a snapshot containing only the created and modified files
Files and directories that existed before and were updated in the newer directory.
Files and directories that were removed. Directories are indicated by a trailing slash, and their child paths are not included.
Force evaluation in the engine.
@spec with_changeset(t(), t(), [ {:on_conflict, Dagger.ChangesetMergeConflict.t() | nil} ]) :: t()
Add changes to an existing changeset
By default the operation will fail in case of conflicts, for instance a file modified in both changesets. The behavior can be adjusted using onConflict argument
@spec with_changesets(t(), [Dagger.ChangesetID.t()], [ {:on_conflict, Dagger.ChangesetsMergeConflict.t() | nil} ]) :: t()
Add changes from multiple changesets using git octopus merge strategy
This is more efficient than chaining multiple withChangeset calls when merging many changesets.
Only FAIL and FAIL_EARLY conflict strategies are supported (octopus merge cannot use -X ours/theirs).