version.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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
  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. print('repo version %s' % rp.work_git.describe(HEAD))
  33. print(' (from %s)' % rem.url)
  34. if Version.wrapper_path is not None:
  35. print('repo launcher version %s' % Version.wrapper_version)
  36. print(' (from %s)' % Version.wrapper_path)
  37. print(git.version().strip())
  38. print('Python %s' % sys.version)