diff options
author | Primiano Tucci <primiano@google.com> | 2014-09-10 15:39:33 +0100 |
---|---|---|
committer | Primiano Tucci <primiano@google.com> | 2014-09-10 15:39:33 +0100 |
commit | f2e9853ae82a5b792ddf1af7c7d8924e9cb8c9b4 (patch) | |
tree | 1154c83bfb40f7ba3b610e096dd19a26658e0c3a | |
parent | 70e496d940c22bf07cd2c5634e1819276ddac416 (diff) | |
download | android_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
-rwxr-xr-x | chromium/tools/merge_from_chromium.py | 22 |
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 |