# Copyright (C) 2009 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import platform import sys from command import Command from command import MirrorSafeCommand from git_command import git from git_command import RepoSourceVersion from git_command import user_agent from git_refs import HEAD from wrapper import Wrapper class Version(Command, MirrorSafeCommand): wrapper_version = None wrapper_path = None COMMON = False helpSummary = "Display the version of repo" helpUsage = """ %prog """ def Execute(self, opt, args): rp = self.manifest.repoProject rem = rp.GetRemote() branch = rp.GetBranch("default") # These might not be the same. Report them both. src_ver = RepoSourceVersion() rp_ver = rp.bare_git.describe(HEAD) print("repo version %s" % rp_ver) print(" (from %s)" % rem.url) print(" (tracking %s)" % branch.merge) print(" (%s)" % rp.bare_git.log("-1", "--format=%cD", HEAD)) if self.wrapper_path is not None: print("repo launcher version %s" % self.wrapper_version) print(" (from %s)" % self.wrapper_path) if src_ver != rp_ver: print(" (currently at %s)" % src_ver) print("repo User-Agent %s" % user_agent.repo) print("git %s" % git.version_tuple().full) print("git User-Agent %s" % user_agent.git) print("Python %s" % sys.version) uname = platform.uname() if sys.version_info.major < 3: # Python 3 returns a named tuple, but Python 2 is simpler. print(uname) else: print( "OS %s %s (%s)" % (uname.system, uname.release, uname.version) ) print( "CPU %s (%s)" % ( uname.machine, uname.processor if uname.processor else "unknown", ) ) print("Bug reports:", Wrapper().BUG_URL)