Revert "[build] Don't combine stdout and stderr when consuming git output."
This reverts commit 1ac8b374a2a0e459fea134f4449846f96b563883.
Reason for revert: Broken debianpackage bot https://ci.chromium.org/p/dart-internal/builders/ci/debianpackage-linux-main/4682
Original change's description:
> [build] Don't combine stdout and stderr when consuming git output.
>
> When the alternate objects path is broken, `git log -n1 --pretty=format:%cd` will output `error: unable to normalize alternate object path: .git/objects/no/such/path` to stderr, and we don't want this mixed into the version string.
>
> Bug: https://github.com/flutter/flutter/issues/123416
> Change-Id: Ief03e57febd5a42f5cbba2b14a736d949a90ae82
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/291050
> Reviewed-by: Alexander Aprelev <aam@google.com>
> Commit-Queue: Ryan Macnak <rmacnak@google.com>
Bug: https://github.com/flutter/flutter/issues/123416
Change-Id: If100a66a7b94a2c540aa9e4f28902ce6f6ab8d64
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/291056
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
diff --git a/tools/utils.py b/tools/utils.py
index 312ccb6..ce932b3 100644
--- a/tools/utils.py
+++ b/tools/utils.py
@@ -500,13 +500,11 @@
pass
p = subprocess.Popen(['git', 'rev-parse', 'HEAD'],
stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
shell=IsWindows(),
cwd=repo_path)
- out, err = p.communicate()
- if p.wait() != 0:
- raise Exception('git rev-parse failed: ' + str(err))
- revision = out.decode('utf-8').strip()
+ output, _ = p.communicate()
+ revision = output.decode('utf-8').strip()
# We expect a full git hash
if len(revision) != 40:
print('Warning: Could not parse git commit, output was {}'.format(
@@ -519,13 +517,13 @@
def GetShortGitHash(repo_path=DART_DIR):
p = subprocess.Popen(['git', 'rev-parse', '--short=10', 'HEAD'],
stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
shell=IsWindows(),
cwd=repo_path)
- out, err = p.communicate()
+ output, _ = p.communicate()
+ revision = output.decode('utf-8').strip()
if p.wait() != 0:
- raise Exception('git rev-parse failed: ' + str(err))
- revision = out.decode('utf-8').strip()
+ return None
return revision
@@ -542,16 +540,16 @@
]
p = subprocess.Popen(cmd,
stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
shell=IsWindows(),
cwd=repo_path)
- out, err = p.communicate()
+ output, _ = p.communicate()
+ tag = output.decode('utf-8').strip()
if p.wait() != 0:
print('Warning: Could not get the most recent dev branch tag {}'.format(
tag),
file=sys.stderr)
return None
- tag = out.decode('utf-8').strip()
return tag
@@ -566,26 +564,24 @@
pass
p = subprocess.Popen(['git', 'log', '-n', '1', '--pretty=format:%cd'],
stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
shell=IsWindows(),
cwd=repo_path)
- out, err = p.communicate()
+ output, _ = p.communicate()
+ timestamp = output.decode('utf-8').strip()
if p.wait() != 0:
- raise Exception('git log failed: ' + str(err))
- timestamp = out.decode('utf-8').strip()
+ return None
return timestamp
def GetGitNumber(repo_path=DART_DIR):
p = subprocess.Popen(['git', 'rev-list', 'HEAD', '--count'],
stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
shell=IsWindows(),
cwd=repo_path)
- out, err = p.communicate()
- if p.wait() != 0:
- raise Exception('git rev-list failed: ' + str(err))
- number = out.decode('utf-8').strip()
+ output, _ = p.communicate()
+ number = output.decode('utf-8').strip()
try:
number = int(number)
return number + GIT_NUMBER_BASE