Dvc: repro: update status message for dvc-added files

Created on 17 Jul 2020  路  6Comments  路  Source: iterative/dvc

Bug Report

As we know that running dvc repro command would reproduce the stages defined in dvc.yaml file. One thing we also know that .dvc file can be used as the beginning of a pipeline. If we consider a sample case where we have the follwing pipeline and we perform dvc repro.

image

As we can see the command is successful in its execution but the thing to note that it's considering .dvc files as a stage (which they are probably not) as can be seen from the first line of the output.

Does the output corresponding to .dvc file needs some updations?
Output of dvc version:

$ dvc version
DVC version: 1.1.7
Python version: 3.8.3
Platform: Windows-10-10.0.19041-SP0
Binary: False
Package: pip
Supported remotes: http, https
Cache: reflink - not supported, hardlink - supported, symlink - supported
Repo: dvc, git

Additional Information (if any):

This issue is outcome of the discussion at #1572(review)

enhancement p2-medium ui

Most helpful comment

Hi @sarthakforwet ! Great points! The dag part is discussed in https://github.com/iterative/dvc/issues/4058 , but we do indeed need to reconsider repro output as well. Thank you for the feedback!

All 6 comments

Hi @sarthakforwet ! Great points! The dag part is discussed in https://github.com/iterative/dvc/issues/4058 , but we do indeed need to reconsider repro output as well. Thank you for the feedback!

Thanks @efiop.

Suggestion: We can change the output so that whenever a .dvc extension is detected, it would print "Deps" instead of "Stage".

Also, Can I also work on this issue and what would be the prerequisite for it? Thanks

Suggestion: We can change the output so that whenever a .dvc extension is detected, it would print "Deps" instead of "Stage".

Good suggestion, but I think we are better off using something like

if not isinstance(stage, PipelineStage) and stage.is_data_source:
    # new message

:slightly_smiling_face: Especially since .dvc might be a legacy pipeline file.

Also, Can I also work on this issue and what would be the prerequisite for it? Thanks

Sure! Please feel free. Looks like you'll simply need to adjust the message in https://github.com/iterative/dvc/blob/b77ce02f6b7f66efa9fc73b7146f1c4bf4fa6da3/dvc/stage/__init__.py#L309 . Let us know if you'll have any questions. Thank you for looking into it! :pray:

One doubt @efiop.
The "addressing" property has the following comment -
https://github.com/iterative/dvc/blob/b77ce02f6b7f66efa9fc73b7146f1c4bf4fa6da3/dvc/stage/__init__.py#L165-L166

and in "reproduce" we are adding the prefix "Stage" infront of it. So is it correct?

@sarthakforwet You can change the msg accordingly so it makes the most sense.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

shcheklein picture shcheklein  路  3Comments

shcheklein picture shcheklein  路  3Comments

robguinness picture robguinness  路  3Comments

analystanand picture analystanand  路  3Comments

prihoda picture prihoda  路  3Comments