From d9fdc1f5b5ded0b2b8189a08b3f45dcdbc5951dd Mon Sep 17 00:00:00 2001 From: Andrii Shyshkalov Date: Thu, 27 Sep 2018 02:13:09 +0000 Subject: [PATCH] git cl: save description before doing any RPCs during upload. R=smut@google.com Bug: 881860 Change-Id: I59c337384891f02dbd2cc776318803ac556843ca Reviewed-on: https://chromium-review.googlesource.com/1247584 Reviewed-by: smut Commit-Queue: Andrii Shyshkalov --- git_cl.py | 4 ++-- tests/git_cl_test.py | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/git_cl.py b/git_cl.py index b9d8acf11..b400c1093 100755 --- a/git_cl.py +++ b/git_cl.py @@ -107,8 +107,7 @@ def DieWithError(message, change_desc=None): def SaveDescriptionBackup(change_desc): backup_path = os.path.expanduser(DESCRIPTION_BACKUP_FILE) - print('\nError after CL description prompt -- saving description to %s\n' % - backup_path) + print('\nsaving CL description to %s\n' % backup_path) backup_file = open(backup_path, 'w') backup_file.write(change_desc.description) backup_file.close() @@ -3014,6 +3013,7 @@ class _GerritChangelistImpl(_ChangelistCodereviewBase): change_id = git_footers.get_footer_change_id(change_desc.description)[0] assert change_desc + SaveDescriptionBackup(change_desc) commits = RunGitSilent(['rev-list', '%s..%s' % (parent, ref_to_push)]).splitlines() if len(commits) > 1: diff --git a/tests/git_cl_test.py b/tests/git_cl_test.py index a267e9549..1672b0016 100755 --- a/tests/git_cl_test.py +++ b/tests/git_cl_test.py @@ -661,10 +661,12 @@ class TestGitCl(TestCase): self._mocked_call(['get_or_create_merge_base']+list(a)))) self.mock(git_cl, 'BranchExists', lambda _: True) self.mock(git_cl, 'FindCodereviewSettingsFile', lambda: '') + self.mock(git_cl, 'SaveDescriptionBackup', lambda _: + self._mocked_call('SaveDescriptionBackup')) self.mock(git_cl, 'ask_for_data', lambda *a, **k: self._mocked_call( - *(['ask_for_data'] + list(a)), **k)) + *(['ask_for_data'] + list(a)), **k)) self.mock(git_cl, 'write_json', lambda path, contents: - self._mocked_call('write_json', path, contents)) + self._mocked_call('write_json', path, contents)) self.mock(git_cl.presubmit_support, 'DoPresubmitChecks', PresubmitMock) self.mock(git_cl.rietveld, 'Rietveld', RietveldMock) self.mock(git_cl.rietveld, 'CachingRietveld', RietveldMock) @@ -1240,6 +1242,7 @@ class TestGitCl(TestCase): ref_to_push = 'HEAD' calls += [ + (('SaveDescriptionBackup',), None), ((['git', 'rev-list', (custom_cl_base if custom_cl_base else expected_upstream_ref) + '..' + ref_to_push],),