dvc freeze causes the stages indicated as
targets to be considered not changed by
dvc status and
dvc repro. Stage
reproduction will not regenerate outputs of frozen stages, even if
their dependencies have changed, and even if
--force is used.
Freezing a stage is useful to avoid syncing data from the top of its pipeline, and keep iterating on the last (non-frozen) stages only.
--help - prints the usage/help message, and exit.
--quiet - do not write anything to standard output. Exit with 0 if no
problems arise, otherwise 1.
--verbose - displays detailed tracing information.
First, let's create a dummy stage that copies
$ echo foo > foo $ dvc add foo $ dvc stage add -n make_copy -d foo -o bar cp foo bar
dvc stage addfor more details.
Then, let's change the file
foo that the stage
make_copy depends on:
$ echo zoo > foo $ dvc status make_copy: changed deps: modified: foo foo.dvc: changed outs: modified: foo
dvc status notices that
foo has changed. Let's now freeze the
stage and see what's the project status after that:
$ dvc freeze make_copy $ dvc status foo.dvc: changed outs: modified: foo
DVC notices that
foo changed due to the
foo.dvc file that tracks this file
outs), but the
make_copy stage no longer records the change among its
You can use
dvc unfreezeto go back to the regular project status.