Skip to content

update: improve output when import stage is fixed to an unchanged rev? #2696

@jorgeorpinel

Description

@jorgeorpinel

Moving from treeverse/dvc.org#735 (comment)

$ dvc version
DVC version: 0.65.0
Python version: 3.7.4
Platform: Darwin-19.0.0-x86_64-i386-64bit
Binary: False

When you import a specific revision that doesn't change, for example a tag like:

$ dvc import --rev cats-dogs-v1 \
             git@github.com:iterative/dataset-registry.git \
             use-cases/cats-dogs
Importing 'use-cases/cats-dogs (git@github.com:iterative/dataset-registry.git)' -> 'cats-dogs'
Output 'cats-dogs' didn't change. Skipping saving.                                                                                                           
Saving information to 'cats-dogs.dvc'.
$ ls
total 8
drwxr-xr-x  3 usr  staff    96B Oct 22 14:05 cats-dogs/
-rw-r--r--  1 usr  staff   340B Oct 22 14:05 cats-dogs.dvc

And then you try to update, nothing changes because the rev never moves. However dvc update output doesn't really signal this, in fact it says "Saving information..." as if something happened:

$ dvc update cats-dogs.dvc
Saving information to 'cats-dogs.dvc'.

Although this is correct update behavior (as explained in treeverse/dvc.org#735 (comment)), maybe the output could be different when it detects a fixed rev field in the DVC-file, and this rev hasn't changed. It could give an INFO message to suggest the user may have to re-import instead of updating. Something like:

$ dvc update cats-dogs.dvc
NOTE: The 'cats-dogs.dvc' import stage is fixed to revision 'cats-dogs-v1'
and this Git reference has not moved. You may want to re-import 'cats-dogs.dvc'
to un-fix it, instead of trying to update it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussionrequires active participation to reach a conclusionenhancementEnhances DVCgood first issuep1-importantImportant, aka current backlog of things to doquestionI have a question?uiuser interface / interaction

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions