Chromium Code Reviews

Side by Side Diff: scripts/slave/bot_update.py

Issue 1387213002: When applying a gerrit patch, do a checkout before soft resetting. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/build.git@master
Patch Set: strip rev-parse output Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Copyright 2014 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 # TODO(hinoka): Use logging. 6 # TODO(hinoka): Use logging.
7 7
8 import cStringIO 8 import cStringIO
9 import codecs 9 import codecs
10 import collections 10 import collections
(...skipping 1089 matching lines...)
1100 # Only try once, since subsequent failures hide the real failure. 1100 # Only try once, since subsequent failures hide the real failure.
1101 try: 1101 try:
1102 call(*cmd, tries=1) 1102 call(*cmd, tries=1)
1103 except SubprocessFailed as e: 1103 except SubprocessFailed as e:
1104 raise PatchFailed(e.message, e.code, e.output) 1104 raise PatchFailed(e.message, e.code, e.output)
1105 1105
1106 def apply_gerrit_ref(gerrit_repo, gerrit_ref, root): 1106 def apply_gerrit_ref(gerrit_repo, gerrit_ref, root):
1107 gerrit_repo = gerrit_repo or 'origin' 1107 gerrit_repo = gerrit_repo or 'origin'
1108 assert gerrit_ref 1108 assert gerrit_ref
1109 try: 1109 try:
1110 base_rev = git('rev-parse', 'HEAD', cwd=root).strip()
1110 git('retry', 'fetch', gerrit_repo, gerrit_ref, cwd=root, tries=1) 1111 git('retry', 'fetch', gerrit_repo, gerrit_ref, cwd=root, tries=1)
1111 git('reset', '--soft', 'FETCH_HEAD', cwd=root) 1112 git('checkout', 'FETCH_HEAD', cwd=root)
1113 git('reset', '--soft', base_rev, cwd=root)
1112 except SubprocessFailed as e: 1114 except SubprocessFailed as e:
1113 raise PatchFailed(e.message, e.code, e.output) 1115 raise PatchFailed(e.message, e.code, e.output)
1114 1116
1115 def check_flag(flag_file): 1117 def check_flag(flag_file):
1116 """Returns True if the flag file is present.""" 1118 """Returns True if the flag file is present."""
1117 return os.path.isfile(flag_file) 1119 return os.path.isfile(flag_file)
1118 1120
1119 1121
1120 def delete_flag(flag_file): 1122 def delete_flag(flag_file):
1121 """Remove bot update flag.""" 1123 """Remove bot update flag."""
(...skipping 578 matching lines...)
1700 except Exception: 1702 except Exception:
1701 # Unexpected failure. 1703 # Unexpected failure.
1702 emit_flag(options.flag_file) 1704 emit_flag(options.flag_file)
1703 raise 1705 raise
1704 else: 1706 else:
1705 emit_flag(options.flag_file) 1707 emit_flag(options.flag_file)
1706 1708
1707 1709
1708 if __name__ == '__main__': 1710 if __name__ == '__main__':
1709 sys.exit(main()) 1711 sys.exit(main())
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine