Yuxuan 'fishy' Wang | e6cbae9 | 2013-09-03 18:26:54 -0700 | [diff] [blame] | 1 | # Copyright (C) 2013 The Android Open Source Project |
| 2 | # |
| 3 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 | # you may not use this file except in compliance with the License. |
| 5 | # You may obtain a copy of the License at |
| 6 | # |
| 7 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 8 | # |
| 9 | # Unless required by applicable law or agreed to in writing, software |
| 10 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 12 | # See the License for the specific language governing permissions and |
| 13 | # limitations under the License. |
| 14 | |
Christian Aistleitner | eb8da51 | 2015-07-29 15:01:31 +0200 | [diff] [blame] | 15 | def git_describe(directory = None): |
Yuxuan 'fishy' Wang | e6cbae9 | 2013-09-03 18:26:54 -0700 | [diff] [blame] | 16 | import subprocess |
David Pursehouse | ce96b3f | 2015-04-14 17:49:21 +0900 | [diff] [blame] | 17 | cmd = ['git', 'describe', '--always', '--match', 'v[0-9].*', '--dirty'] |
Christian Aistleitner | eb8da51 | 2015-07-29 15:01:31 +0200 | [diff] [blame] | 18 | if not directory: |
Sven Selberg | aab703f | 2015-04-13 15:34:38 +0200 | [diff] [blame] | 19 | p = subprocess.Popen(cmd, stdout = subprocess.PIPE) |
| 20 | else: |
Christian Aistleitner | eb8da51 | 2015-07-29 15:01:31 +0200 | [diff] [blame] | 21 | p = subprocess.Popen(cmd, stdout = subprocess.PIPE, cwd = directory) |
Yuxuan 'fishy' Wang | e6cbae9 | 2013-09-03 18:26:54 -0700 | [diff] [blame] | 22 | v = p.communicate()[0].strip() |
| 23 | r = p.returncode |
| 24 | if r != 0: |
| 25 | raise subprocess.CalledProcessError(r, ' '.join(cmd)) |
| 26 | return v |