Skip to content

repro: make recursive by default (kill -P) #4273

@jorgeorpinel

Description

@jorgeorpinel

Bug Report

Not sure it's a bug or just an inconsistency.

dvc status by default checks all dvc.yaml/lock files recursively in the project, and in some docs we state this is a way to check whether dvc repro is needed. However, repro by default doesn't do this; It needs the -P/--all-pipelines flag to have this behavior. I see 2 issues:

  1. The inconsistency between these close commands. I would vote for repro to be recursive just like status.
  2. It's not clear how to specify a repro just for a specific subfolder, as paths are not accepted as targets by repro. You'd have to specify the name of the last stage of the pipeline in a subdir, but will repro find it without -P? And with -P it will probably repro everything anyway (not limited to the pipeline you want) — I need to double check this part.
  3. --all-pipelines seems ambiguous. Do we mean all the pipelines in a single dvc.yaml file, since it can have multiple ones? Or all the pipelines in all the dvc.yaml files (current behavior)?

Solution: I think repro should behave like status, and keep -P for the other meaning (all pipelines in a dvc.yaml file). Or maybe deprecate -P since the default behavior I think is already to repro all pipelines when no targets are given.

Extracted from treeverse/dvc.org#1572 (comment)

P/s supporting outputs as targets (and granularity maybe?) of repro would also be nice. Related: #4191

Please provide information about your setup

Output of dvc version:

$ dvc version
DVC version: 1.1.11
Python version: 3.7.5
Platform: Windows-10-10.0.18362-SP0
Binary: True
Package: exe
Supported remotes: azure, gdrive, gs, hdfs, http, https, s3, ssh, oss
Cache: reflink - not supported, hardlink - supported, symlink - not supported
Filesystem type (cache directory): ('NTFS', 'C:\\')
Repo: dvc, git
Filesystem type (workspace): ('NTFS', 'C:\\')

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussionrequires active participation to reach a conclusionenhancementEnhances DVC

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions