def run(self): stats, exc = None, None try: stats = self.repo.checkout( targets=self.args.targets, with_deps=self.args.with_deps, force=self.args.force, relink=self.args.relink, recursive=self.args.recursive, ) except CheckoutError as _exc: exc = _exc stats = exc.stats if self.args.summary: default_message = "No changes." msg = get_summary(sorted(stats.items(), key=operator.itemgetter(0))) logger.info(msg or default_message) else: log_changes(stats) if exc: raise exc return 0
def run(self): from dvc.utils.humanize import get_summary stats, exc = None, None try: stats = self.repo.checkout( targets=self.args.targets, with_deps=self.args.with_deps, force=self.args.force, relink=self.args.relink, recursive=self.args.recursive, ) except CheckoutError as _exc: exc = _exc stats = exc.stats if self.args.summary: default_message = "No changes." msg = get_summary(sorted(stats.items(), key=operator.itemgetter(0))) ui.write(msg or default_message) else: log_changes(stats) if exc: raise exc if self.args.relink: msg = "Relinked successfully" ui.write(msg) return 0
def test_get_summary(): # dict, so that we could delete from it easily stats = OrderedDict([ ("fetched", 3), ("added", ["file1", "file2", "file3"]), ("deleted", ["file4", "file5"]), ("modified", ["file6", "file7"]), ]) assert get_summary(stats.items()) == ("3 files fetched, " "3 files added, " "2 files deleted " "and " "2 files modified") del stats["fetched"] del stats["deleted"][1] assert (get_summary( stats.items()) == "3 files added, 1 file deleted and 2 files modified") del stats["deleted"][0] assert get_summary(stats.items()) == "3 files added and 2 files modified" del stats["modified"] assert get_summary(stats.items()) == "3 files added" assert get_summary([]) == "" assert get_summary([("x", 0), ("y", [])]) == "" assert get_summary([("x", 1), ("y", [])]) == "1 file x"
def log_summary(self, stats): default_msg = "Everything is up to date." logger.info(get_summary(stats.items()) or default_msg)
def log_summary(self, stats): from dvc.ui import ui from dvc.utils.humanize import get_summary default_msg = "Everything is up to date." ui.write(get_summary(stats.items()) or default_msg)
def log_summary(self, stats): from dvc.utils.humanize import get_summary default_msg = "Everything is up to date." logger.info(get_summary(stats.items()) or default_msg)