from git import Repo from datetime import datetime import os repoFile = open("repositories.txt", "r") while(True): line = repoFile.readline() if not line: break line = line.strip() now = datetime.now().strftime("[%H:%M:%S] ") if not os.path.isdir(line): print("\033[0;31m%s\033[0;0m \033[0;34m%s\033[0;0m is not a directory!"%(now, line)) continue repo = Repo(line) if not repo.bare: branch = repo.active_branch # Thanks to https://stackoverflow.com/a/65535263/12036073 if list(repo.iter_commits(f'{branch}..{branch}@{{u}}')): print("\033[0;31m%s\033[0;34m%s\033[0;0m\'s origin was updated, pulling..."%(now, line)) repo.remotes.origin.pull() else: print("\033[0;32m%s\033[0;34m%s\033[0;0m is up to date"%(now, line)) else: print("\033[0;31m%s\033[0;0m Repository \033[0;34m%s\033[0;0m must not be bare!"%(now, line)) repoFile.close()