2009-03-03 02:24:23 +00:00
|
|
|
# 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.
|
|
|
|
|
2020-02-25 20:09:01 +00:00
|
|
|
import platform
|
2009-03-03 02:24:23 +00:00
|
|
|
import sys
|
2020-02-25 20:09:01 +00:00
|
|
|
|
2023-08-22 01:20:32 +00:00
|
|
|
from command import Command
|
|
|
|
from command import MirrorSafeCommand
|
|
|
|
from git_command import git
|
|
|
|
from git_command import RepoSourceVersion
|
|
|
|
from git_command import user_agent
|
2012-09-11 05:33:51 +00:00
|
|
|
from git_refs import HEAD
|
2021-04-21 03:38:04 +00:00
|
|
|
from wrapper import Wrapper
|
2009-03-03 02:24:23 +00:00
|
|
|
|
2020-02-12 06:20:19 +00:00
|
|
|
|
2009-03-04 01:47:06 +00:00
|
|
|
class Version(Command, MirrorSafeCommand):
|
2023-03-11 06:46:20 +00:00
|
|
|
wrapper_version = None
|
|
|
|
wrapper_path = None
|
2011-11-29 23:01:33 +00:00
|
|
|
|
2023-03-11 06:46:20 +00:00
|
|
|
COMMON = False
|
|
|
|
helpSummary = "Display the version of repo"
|
|
|
|
helpUsage = """
|
2009-03-03 02:24:23 +00:00
|
|
|
%prog
|
|
|
|
"""
|
|
|
|
|
2023-03-11 06:46:20 +00:00
|
|
|
def Execute(self, opt, args):
|
|
|
|
rp = self.manifest.repoProject
|
|
|
|
rem = rp.GetRemote()
|
|
|
|
branch = rp.GetBranch("default")
|
2009-03-03 02:24:23 +00:00
|
|
|
|
2023-03-11 06:46:20 +00:00
|
|
|
# These might not be the same. Report them both.
|
|
|
|
src_ver = RepoSourceVersion()
|
|
|
|
rp_ver = rp.bare_git.describe(HEAD)
|
2023-09-29 15:04:49 +00:00
|
|
|
print(f"repo version {rp_ver}")
|
|
|
|
print(f" (from {rem.url})")
|
|
|
|
print(f" (tracking {branch.merge})")
|
|
|
|
print(f" ({rp.bare_git.log('-1', '--format=%cD', HEAD)})")
|
2011-11-29 23:01:33 +00:00
|
|
|
|
2023-03-11 06:46:20 +00:00
|
|
|
if self.wrapper_path is not None:
|
2023-09-29 15:04:49 +00:00
|
|
|
print(f"repo launcher version {self.wrapper_version}")
|
|
|
|
print(f" (from {self.wrapper_path})")
|
2011-11-29 23:01:33 +00:00
|
|
|
|
2023-03-11 06:46:20 +00:00
|
|
|
if src_ver != rp_ver:
|
2023-09-29 15:04:49 +00:00
|
|
|
print(f" (currently at {src_ver})")
|
2019-10-01 02:46:45 +00:00
|
|
|
|
2023-09-29 15:04:49 +00:00
|
|
|
print(f"repo User-Agent {user_agent.repo}")
|
|
|
|
print(f"git {git.version_tuple().full}")
|
|
|
|
print(f"git User-Agent {user_agent.git}")
|
|
|
|
print(f"Python {sys.version}")
|
2023-03-11 06:46:20 +00:00
|
|
|
uname = platform.uname()
|
|
|
|
if sys.version_info.major < 3:
|
|
|
|
# Python 3 returns a named tuple, but Python 2 is simpler.
|
|
|
|
print(uname)
|
|
|
|
else:
|
2023-09-29 15:04:49 +00:00
|
|
|
print(f"OS {uname.system} {uname.release} ({uname.version})")
|
|
|
|
processor = uname.processor if uname.processor else "unknown"
|
|
|
|
print(f"CPU {uname.machine} ({processor})")
|
2023-03-11 06:46:20 +00:00
|
|
|
print("Bug reports:", Wrapper().BUG_URL)
|