#!/bin/python3 from ups import log import ups def check(dir=".") -> bool: try: us = ups.upstream(dir=dir) except Exception as e: log.fail("failed to create ups upstream", exception=e) return False try: commits = us.last() except Exception as e: log.fail("failed to get commits: %s" % e) return False if len(commits) == 0: log.info("upstream does not have any commits") return True last_commit = commits[0] saved_commit = us.commit() if saved_commit == "": log.warn("no commit specified, assuming we are on the latest commit") us.commit(last_commit) return False if saved_commit == last_commit: log.info("up-to-date with the upstream") return True commits = us.until(saved_commit) log.warn("%d commits behind the upstream" % len(commits)) log.info("run ups-update to pull & apply patches") return False if "__main__" == __name__: exit(0 if check() else 1)