diff --git a/dvc/command/repro.py b/dvc/command/repro.py index 7a8c2b03a..4125ddb33 100644 --- a/dvc/command/repro.py +++ b/dvc/command/repro.py @@ -1,5 +1,8 @@ +import os + from dvc.command.common.base import CmdBase -from dvc.project import ReproductionError +from dvc.project import ReproductionError, StageNotFoundError +from dvc.stage import Stage class CmdRepro(CmdBase): @@ -14,6 +17,16 @@ class CmdRepro(CmdBase): msg = 'Failed to reproduce \'{}\''.format(target) self.project.logger.error(msg, ex) return 1 + except StageNotFoundError as ex: + if os.path.exists(target): + msg = '\'{}\' is not a dvc file.'.format(target) + dvcfile = target + Stage.STAGE_FILE_SUFFIX + if os.path.exists(target) and os.path.isfile(dvcfile): + msg += ' Maybe you meant \'{}\'?'.format(dvcfile) + else: + msg = '\'{}\' does not exist.'.format(target) + self.project.logger.error(msg) + return 1 except Exception as ex: msg = 'Failed to reproduce \'{}\' - unexpected error'.format(target) self.project.logger.error(msg, ex)