From e68137181e406f4b04522b6175302b10bb6e45ec Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Fri, 8 Jun 2018 16:43:50 +0300 Subject: [PATCH] status: report callback stages as changed Fixes #751 Signed-off-by: Ruslan Kuprieiev --- dvc/stage.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dvc/stage.py b/dvc/stage.py index d5a926e5f..d1f658526 100644 --- a/dvc/stage.py +++ b/dvc/stage.py @@ -91,10 +91,14 @@ class Stage(object): self.project.logger.debug(msg.format(self.relpath, self.md5, md5)) return True + @property + def is_callback(self): + return not self.is_data_source and len(self.deps) == 0 + def changed(self): ret = False - if not self.is_data_source and len(self.deps) == 0: + if self.is_callback: ret = True for entry in itertools.chain(self.outs, self.deps): @@ -268,7 +272,7 @@ class Stage(object): ret.update(self._status(self.deps, 'deps')) ret.update(self._status(self.outs, 'outs')) - if ret or self.changed_md5(): + if ret or self.changed_md5() or self.is_callback: return {self.relpath: ret} return {}