From 5b674c910d8dc73332d999fb3eb4b9746316cc8a Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Wed, 11 Jul 2018 13:36:25 +0300 Subject: [PATCH] dvc: sort dir cache by relpath Signed-off-by: Ruslan Kuprieiev --- dvc/state.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dvc/state.py b/dvc/state.py index 33733b126..0cfcd2cd2 100644 --- a/dvc/state.py +++ b/dvc/state.py @@ -2,6 +2,7 @@ import os import json import nanotime import threading +from operator import itemgetter from dvc.lock import Lock from dvc.system import System @@ -80,6 +81,9 @@ class State(object): md5 = file_md5(path)[0] dir_info.append({self.PARAM_RELPATH: relpath, self.PARAM_MD5: md5}) + # NOTE: sorting the list by path to ensure reproducibility + dir_info = sorted(dir_info, key=itemgetter(self.PARAM_RELPATH)) + md5 = dict_md5(dir_info) + self.MD5_DIR_SUFFIX if self.project.cache.local.changed(md5): self.project.cache.local.dump_dir_cache(md5, dir_info)