summaryrefslogtreecommitdiffstats
path: root/chromium/tools
diff options
context:
space:
mode:
authorPrimiano Tucci <primiano@google.com>2014-09-10 15:39:33 +0100
committerPrimiano Tucci <primiano@google.com>2014-09-10 15:39:33 +0100
commitf2e9853ae82a5b792ddf1af7c7d8924e9cb8c9b4 (patch)
tree1154c83bfb40f7ba3b610e096dd19a26658e0c3a /chromium/tools
parent70e496d940c22bf07cd2c5634e1819276ddac416 (diff)
downloadandroid_frameworks_webview-f2e9853ae82a5b792ddf1af7c7d8924e9cb8c9b4.tar.gz
android_frameworks_webview-f2e9853ae82a5b792ddf1af7c7d8924e9cb8c9b4.tar.bz2
android_frameworks_webview-f2e9853ae82a5b792ddf1af7c7d8924e9cb8c9b4.zip
Fix LASTCHANGE in merge_from_chromium.py when merging a release.
The previous changes to merge_from_chromium caused the script to crash when generating LASTCHANGE for a release. This fixes the crash by using the SHA1 of the upstream merge parent to generate LASTCHANGE. Change-Id: I34ff309400135bb09a91e7e32a9eb1aea1e8c310
Diffstat (limited to 'chromium/tools')
-rwxr-xr-xchromium/tools/merge_from_chromium.py22
1 files changed, 15 insertions, 7 deletions
diff --git a/chromium/tools/merge_from_chromium.py b/chromium/tools/merge_from_chromium.py
index 027b909..bf1ce13 100755
--- a/chromium/tools/merge_from_chromium.py
+++ b/chromium/tools/merge_from_chromium.py
@@ -140,6 +140,9 @@ def _MergeProjects(version, root_sha1, target, unattended, buildspec_url):
target: The target branch to merge to.
unattended: Run in unattended mode.
buildspec_url: URL for buildspec repository, when merging a branch.
+ Returns:
+ The abbrev sha1 merged. It will be either |root_sha1| itself (when merging
+ chromium trunk) or the upstream sha1 of the release.
Raises:
TemporaryMergeError: If incompatibly licensed code is left after pruning.
"""
@@ -205,15 +208,17 @@ def _MergeProjects(version, root_sha1, target, unattended, buildspec_url):
if not root_sha1:
merge_info = _GetProjectMergeInfo([''], deps_vars)
url = merge_info['']['url']
- root_sha1 = merge_info['']['sha1']
- merge_common.GetCommandStdout(['git', 'fetch', url, root_sha1])
- merge_msg_version = '%s (%s)' % (version, root_sha1)
+ merged_sha1 = merge_info['']['sha1']
+ merge_common.GetCommandStdout(['git', 'fetch', url, merged_sha1])
+ merged_sha1 = merge_common.Abbrev(merged_sha1)
+ merge_msg_version = '%s (%s)' % (version, merged_sha1)
else:
merge_msg_version = root_sha1
+ merged_sha1 = root_sha1
- logging.debug('Merging Chromium at %s ...', root_sha1)
+ logging.debug('Merging Chromium at %s ...', merged_sha1)
# Merge conflicts make git merge return 1, so ignore errors
- merge_common.GetCommandStdout(['git', 'merge', '--no-commit', root_sha1],
+ merge_common.GetCommandStdout(['git', 'merge', '--no-commit', merged_sha1],
ignore_errors=True)
merge_common.CheckNoConflictsAndCommitMerge(
'Merge Chromium at %s\n\n%s'
@@ -241,6 +246,8 @@ def _MergeProjects(version, root_sha1, target, unattended, buildspec_url):
merge_common.GetCommandStdout(['git', 'commit', '-m',
'Exclude unwanted directories'],
cwd=dest_dir)
+ assert(root_sha1 is None or root_sha1 == merged_sha1)
+ return merged_sha1
def _CheckLicenses():
@@ -439,7 +446,8 @@ def Snapshot(root_sha1, release, target, unattended, buildspec_url):
logging.info('Snapshotting Chromium at %s (%s)', version, root_sha1)
# 1. Merge, accounting for excluded directories
- _MergeProjects(version, root_sha1, target, unattended, buildspec_url)
+ merged_sha1 = _MergeProjects(version, root_sha1, target, unattended,
+ buildspec_url)
# 2. Generate Android makefiles
_GenerateMakefiles(version, unattended)
@@ -451,7 +459,7 @@ def Snapshot(root_sha1, release, target, unattended, buildspec_url):
_GenerateNoticeFile(version)
# 5. Generate LASTCHANGE file
- _GenerateLastChange(version, root_sha1)
+ _GenerateLastChange(version, merged_sha1)
return True