def _PostRepoFetch(rp, repo_verify=True, verbose=False): if rp.HasChanges: print('info: A new version of repo is available', file=sys.stderr) wrapper = Wrapper() try: rev = rp.bare_git.describe(rp.GetRevisionId()) except GitError: rev = None _, new_rev = wrapper.check_repo_rev(rp.gitdir, rev, repo_verify=repo_verify) # See if we're held back due to missing signed tag. current_revid = rp.bare_git.rev_parse('HEAD') new_revid = rp.bare_git.rev_parse('--verify', new_rev) if current_revid != new_revid: # We want to switch to the new rev, but also not trash any uncommitted # changes. This helps with local testing/hacking. # If a local change has been made, we will throw that away. # We also have to make sure this will switch to an older commit if that's # the latest tag in order to support release rollback. try: rp.work_git.reset('--keep', new_rev) except GitError as e: sys.exit(str(e)) print('info: Restarting repo with latest version', file=sys.stderr) raise RepoChangedException(['--repo-upgraded']) else: print('warning: Skipped upgrade to unverified version', file=sys.stderr) else: if verbose: print('repo version %s is current' % rp.work_git.describe(HEAD), file=sys.stderr)
def _PostRepoFetch(rp, no_repo_verify=False, verbose=False): if rp.HasChanges: print >>sys.stderr, 'info: A new version of repo is available' print >>sys.stderr, '' if no_repo_verify or _VerifyTag(rp): syncbuf = SyncBuffer(rp.config) rp.Sync_LocalHalf(syncbuf) if not syncbuf.Finish(): sys.exit(1) print >>sys.stderr, 'info: Restarting repo with latest version' raise RepoChangedException(['--repo-upgraded']) else: print >>sys.stderr, 'warning: Skipped upgrade to unverified version' else: if verbose: print >>sys.stderr, 'repo version %s is current' % rp.work_git.describe(HEAD)
def _PostRepoFetch(rp, repo_verify=True, verbose=False): if rp.HasChanges: print("info: A new version of repo is available", file=sys.stderr) print(file=sys.stderr) if not repo_verify or _VerifyTag(rp): syncbuf = SyncBuffer(rp.config) rp.Sync_LocalHalf(syncbuf) if not syncbuf.Finish(): sys.exit(1) print("info: Restarting repo with latest version", file=sys.stderr) raise RepoChangedException(["--repo-upgraded"]) else: print("warning: Skipped upgrade to unverified version", file=sys.stderr) else: if verbose: print( "repo version %s is current" % rp.work_git.describe(HEAD), file=sys.stderr, )