diff --git a/dvc/project.py b/dvc/project.py index d9a785224..d5eb2b23b 100644 --- a/dvc/project.py +++ b/dvc/project.py @@ -149,10 +149,12 @@ class Project(object): raise StageNotFoundError(target) if recursive: - for node in nx.dfs_postorder_nodes(self.graph(), node): - stages[node].reproduce(force=force) + for n in nx.dfs_postorder_nodes(self.graph(), node): + stages[n].reproduce(force=force) + stages[n].dump() stages[node].reproduce(force=force) + stages[node].dump() def checkout(self): for stage in self.stages(): diff --git a/dvc/stage.py b/dvc/stage.py index e7dfd185e..22e0a4417 100644 --- a/dvc/stage.py +++ b/dvc/stage.py @@ -132,8 +132,8 @@ class Dependency(Output): state = self.project.state.get(self.path) if state and state.mtime == self.mtime(): md5 = state.md5 - msg = '{} using md5 from state file for dependency' - self.project.logger.debug(msg.format(self.path)) + msg = '{} using md5 {} from state file for dependency' + self.project.logger.debug(msg.format(self.path, md5)) super(Dependency, self).update(md5=md5)