From e97c1a556345be0199c23204ea89bf6486beb438 Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Wed, 31 Jan 2018 18:18:48 +0200 Subject: [PATCH] stage: save: remove link from cache if cache already exists Fixes #447 Signed-off-by: Ruslan Kuprieiev --- dvc/stage.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dvc/stage.py b/dvc/stage.py index 30098c977..e59051e52 100644 --- a/dvc/stage.py +++ b/dvc/stage.py @@ -285,7 +285,11 @@ class Output(Dependency): cache = self.project.cache.get(md5) cache_info = os.path.join(self.cache, relpath) - self.hardlink(path, cache) + if os.path.exists(cache): + self._remove(path, None) + self.hardlink(cache, path) + else: + self.hardlink(path, cache) os.makedirs(os.path.dirname(cache_info)) with open(cache_info, 'w') as fd: