version.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. # -*- coding:utf-8 -*-
  2. #
  3. # Copyright (C) 2009 The Android Open Source Project
  4. #
  5. # Licensed under the Apache License, Version 2.0 (the "License");
  6. # you may not use this file except in compliance with the License.
  7. # You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. from __future__ import print_function
  17. import sys
  18. from command import Command, MirrorSafeCommand
  19. from git_command import git, RepoSourceVersion, user_agent
  20. from git_refs import HEAD
  21. class Version(Command, MirrorSafeCommand):
  22. wrapper_version = None
  23. wrapper_path = None
  24. common = False
  25. helpSummary = "Display the version of repo"
  26. helpUsage = """
  27. %prog
  28. """
  29. def Execute(self, opt, args):
  30. rp = self.manifest.repoProject
  31. rem = rp.GetRemote(rp.remote.name)
  32. # These might not be the same. Report them both.
  33. src_ver = RepoSourceVersion()
  34. rp_ver = rp.bare_git.describe(HEAD)
  35. print('repo version %s' % rp_ver)
  36. print(' (from %s)' % rem.url)
  37. if Version.wrapper_path is not None:
  38. print('repo launcher version %s' % Version.wrapper_version)
  39. print(' (from %s)' % Version.wrapper_path)
  40. if src_ver != rp_ver:
  41. print(' (currently at %s)' % src_ver)
  42. print('repo User-Agent %s' % user_agent.repo)
  43. print('git %s' % git.version_tuple().full)
  44. print('git User-Agent %s' % user_agent.git)
  45. print('Python %s' % sys.version)