diff --git a/dvc/output/base.py b/dvc/output/base.py index c841200b4..e9cfd500a 100644 --- a/dvc/output/base.py +++ b/dvc/output/base.py @@ -138,6 +138,8 @@ class OutputBase(object): def save(self): self.info = self.remote.save_info(self.path_info) + + def commit(self): if self.use_cache: getattr(self.repo.cache, self.scheme).save( self.path_info, self.info @@ -190,6 +192,7 @@ class OutputBase(object): self.url = out.url self.path_info = out.path_info self.save() + self.commit() if self.scheme == "local" and self.use_cache and self.is_local: self.repo.scm.ignore(self.path) diff --git a/dvc/output/local.py b/dvc/output/local.py index ea47f9285..142d18e16 100644 --- a/dvc/output/local.py +++ b/dvc/output/local.py @@ -118,4 +118,3 @@ class OutputLOCAL(OutputBase): self.repo.scm.ignore(self.path) self.info = self.remote.save_info(self.path_info) - self.project.cache.local.save(self.path_info, self.info) diff --git a/dvc/repo/add.py b/dvc/repo/add.py index 3e727c176..6c1138cb1 100644 --- a/dvc/repo/add.py +++ b/dvc/repo/add.py @@ -30,6 +30,7 @@ def add(self, fname, recursive=False): continue stage.save() + stage.commit() stages.append(stage) self.check_dag(self.stages() + stages) diff --git a/dvc/stage.py b/dvc/stage.py index ff3b61692..44c88d2d2 100644 --- a/dvc/stage.py +++ b/dvc/stage.py @@ -526,6 +526,10 @@ class Stage(object): self.md5 = self._compute_md5() + def commit(self): + for out in self.outs: + out.commit() + def _check_missing_deps(self): missing = [dep for dep in self.deps if not dep.exists] @@ -625,6 +629,7 @@ class Stage(object): if not dry: self.save() + self.commit() def check_missing_outputs(self): paths = [