diff --git a/content/docs/command-reference/checkout.md b/content/docs/command-reference/checkout.md index a1ab593167..6710144594 100644 --- a/content/docs/command-reference/checkout.md +++ b/content/docs/command-reference/checkout.md @@ -30,7 +30,8 @@ The execution of `dvc checkout` does the following: - Checks `dvc.lock` and `.dvc` files to compare the hash values of their outputs against the actual files or directories in the - workspace (similar to `dvc status`). + workspace (similar to `dvc status`). Outputs with `pull: false` + are not updated unless explicitly mentioned in `targets` (see `.dvc` files). > Stage outputs must be defined in `dvc.yaml` (and `dvc.lock` contain their > hash values), or they'll be skipped with a warning. diff --git a/content/docs/command-reference/fetch.md b/content/docs/command-reference/fetch.md index 73f4b824a8..c489afd61a 100644 --- a/content/docs/command-reference/fetch.md +++ b/content/docs/command-reference/fetch.md @@ -59,9 +59,10 @@ Here are some scenarios in which `dvc fetch` is useful, instead of pulling: Without arguments, it downloads all files and directories referenced in the current workspace (found in `dvc.yaml` and `.dvc` files) that are missing from -the workspace. Any `targets` given to this command limit what to fetch. It -accepts paths to tracked files or directories (including paths inside tracked -directories), `.dvc` files, and stage names (found in `dvc.yaml`). +the workspace (except for outputs with `pull: false` set, see `.dvc` files). Any +`targets` given to this command limit what to fetch. It accepts paths to tracked +files or directories (including paths inside tracked directories), `.dvc` files, +and stage names (found in `dvc.yaml`). The `--all-branches`, `--all-tags`, and `--all-commits` options enable fetching files/dirs referenced in multiple Git commits. diff --git a/content/docs/command-reference/pull.md b/content/docs/command-reference/pull.md index 8132d2c6e5..f680c06561 100644 --- a/content/docs/command-reference/pull.md +++ b/content/docs/command-reference/pull.md @@ -67,9 +67,10 @@ The `dvc remote` used is determined in order, based on Without arguments, it downloads all files and directories referenced in the current workspace (found in `dvc.yaml` and `.dvc` files) that are missing from -the workspace. Any `targets` given to this command limit what to pull. It -accepts paths to tracked files or directories (including paths inside tracked -directories), `.dvc` files, and stage names (found in `dvc.yaml`). +the workspace (except for outputs with `pull: false` set, see `.dvc` files). Any +`targets` given to this command limit what to pull. It accepts paths to tracked +files or directories (including paths inside tracked directories), `.dvc` files, +and stage names (found in `dvc.yaml`). The `--all-branches`, `--all-tags`, and `--all-commits` options enable pulling files/dirs referenced in multiple Git commits. diff --git a/content/docs/user-guide/project-structure/dvc-files.md b/content/docs/user-guide/project-structure/dvc-files.md index 6f3bbf958e..a759153a05 100644 --- a/content/docs/user-guide/project-structure/dvc-files.md +++ b/content/docs/user-guide/project-structure/dvc-files.md @@ -57,6 +57,7 @@ The following subfields may be present under `outs` entries: | `remote` | Name of the remote to use for pushing/fetching | | `persist` | Whether the output file/dir should remain in place while `dvc repro` runs (`false` by default: outputs are deleted when `dvc repro` starts) | | `push` | Whether or not this file or directory, when previously cached, is uploaded to remote storage by `dvc push` (`true` by default). | +| `pull` | Whether this file or directory should be be affected by `dvc fetch`, `dvc checkout`, or `dvc pull` when no targets are specified (`true` by default) | [etag]: https://en.wikipedia.org/wiki/HTTP_ETag#Strong_and_weak_validation [external outputs]: /doc/user-guide/pipelines/external-dependencies-and-outputs