Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Side by Side Diff: gclient_utils.py

Issue 2269413002: Delete gcl, drover, and trychange (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: Comments Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gcl.py ('k') | git_cl.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Generic utils.""" 5 """Generic utils."""
6 6
7 import codecs 7 import codecs
8 import cStringIO 8 import cStringIO
9 import datetime 9 import datetime
10 import logging 10 import logging
(...skipping 1038 matching lines...) Expand 10 before | Expand all | Expand 10 after
1049 work_queue.exceptions.put((sys.exc_info(), self)) 1049 work_queue.exceptions.put((sys.exc_info(), self))
1050 finally: 1050 finally:
1051 logging.info('_Worker.run(%s) done', self.item.name) 1051 logging.info('_Worker.run(%s) done', self.item.name)
1052 work_queue.ready_cond.acquire() 1052 work_queue.ready_cond.acquire()
1053 try: 1053 try:
1054 work_queue.ready_cond.notifyAll() 1054 work_queue.ready_cond.notifyAll()
1055 finally: 1055 finally:
1056 work_queue.ready_cond.release() 1056 work_queue.ready_cond.release()
1057 1057
1058 1058
1059 def GetEditor(git, git_editor=None): 1059 def GetEditor(git_editor=None):
1060 """Returns the most plausible editor to use. 1060 """Returns the most plausible editor to use.
1061 1061
1062 In order of preference: 1062 In order of preference:
1063 - GIT_EDITOR/SVN_EDITOR environment variable 1063 - GIT_EDITOR/SVN_EDITOR environment variable
1064 - core.editor git configuration variable (if supplied by git-cl) 1064 - core.editor git configuration variable (if supplied by git-cl)
1065 - VISUAL environment variable 1065 - VISUAL environment variable
1066 - EDITOR environment variable 1066 - EDITOR environment variable
1067 - vi (non-Windows) or notepad (Windows) 1067 - vi (non-Windows) or notepad (Windows)
1068 1068
1069 In the case of git-cl, this matches git's behaviour, except that it does not 1069 In the case of git-cl, this matches git's behaviour, except that it does not
1070 include dumb terminal detection. 1070 include dumb terminal detection.
1071
1072 In the case of gcl, this matches svn's behaviour, except that it does not
1073 accept a command-line flag or check the editor-cmd configuration variable.
1074 """ 1071 """
1075 if git: 1072 editor = os.environ.get('GIT_EDITOR') or git_editor
1076 editor = os.environ.get('GIT_EDITOR') or git_editor
1077 else:
1078 editor = os.environ.get('SVN_EDITOR')
1079 if not editor: 1073 if not editor:
1080 editor = os.environ.get('VISUAL') 1074 editor = os.environ.get('VISUAL')
1081 if not editor: 1075 if not editor:
1082 editor = os.environ.get('EDITOR') 1076 editor = os.environ.get('EDITOR')
1083 if not editor: 1077 if not editor:
1084 if sys.platform.startswith('win'): 1078 if sys.platform.startswith('win'):
1085 editor = 'notepad' 1079 editor = 'notepad'
1086 else: 1080 else:
1087 editor = 'vi' 1081 editor = 'vi'
1088 return editor 1082 return editor
1089 1083
1090 1084
1091 def RunEditor(content, git, git_editor=None): 1085 def RunEditor(content, git, git_editor=None):
1092 """Opens up the default editor in the system to get the CL description.""" 1086 """Opens up the default editor in the system to get the CL description."""
1093 file_handle, filename = tempfile.mkstemp(text=True, prefix='cl_description') 1087 file_handle, filename = tempfile.mkstemp(text=True, prefix='cl_description')
1094 # Make sure CRLF is handled properly by requiring none. 1088 # Make sure CRLF is handled properly by requiring none.
1095 if '\r' in content: 1089 if '\r' in content:
1096 print >> sys.stderr, ( 1090 print >> sys.stderr, (
1097 '!! Please remove \\r from your change description !!') 1091 '!! Please remove \\r from your change description !!')
1098 fileobj = os.fdopen(file_handle, 'w') 1092 fileobj = os.fdopen(file_handle, 'w')
1099 # Still remove \r if present. 1093 # Still remove \r if present.
1100 content = re.sub('\r?\n', '\n', content) 1094 content = re.sub('\r?\n', '\n', content)
1101 # Some editors complain when the file doesn't end in \n. 1095 # Some editors complain when the file doesn't end in \n.
1102 if not content.endswith('\n'): 1096 if not content.endswith('\n'):
1103 content += '\n' 1097 content += '\n'
1104 fileobj.write(content) 1098 fileobj.write(content)
1105 fileobj.close() 1099 fileobj.close()
1106 1100
1107 try: 1101 try:
1108 editor = GetEditor(git, git_editor=git_editor) 1102 editor = GetEditor(git_editor=git_editor)
1109 if not editor: 1103 if not editor:
1110 return None 1104 return None
1111 cmd = '%s %s' % (editor, filename) 1105 cmd = '%s %s' % (editor, filename)
1112 if sys.platform == 'win32' and os.environ.get('TERM') == 'msys': 1106 if sys.platform == 'win32' and os.environ.get('TERM') == 'msys':
1113 # Msysgit requires the usage of 'env' to be present. 1107 # Msysgit requires the usage of 'env' to be present.
1114 cmd = 'env ' + cmd 1108 cmd = 'env ' + cmd
1115 try: 1109 try:
1116 # shell=True to allow the shell to handle all forms of quotes in 1110 # shell=True to allow the shell to handle all forms of quotes in
1117 # $EDITOR. 1111 # $EDITOR.
1118 subprocess2.check_call(cmd, shell=True) 1112 subprocess2.check_call(cmd, shell=True)
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
1225 # Just incase we have some ~/blah paths. 1219 # Just incase we have some ~/blah paths.
1226 target = os.path.abspath(os.path.expanduser(target)) 1220 target = os.path.abspath(os.path.expanduser(target))
1227 if os.path.isfile(target) and os.access(target, os.X_OK): 1221 if os.path.isfile(target) and os.access(target, os.X_OK):
1228 return target 1222 return target
1229 if sys.platform.startswith('win'): 1223 if sys.platform.startswith('win'):
1230 for suffix in ('.bat', '.cmd', '.exe'): 1224 for suffix in ('.bat', '.cmd', '.exe'):
1231 alt_target = target + suffix 1225 alt_target = target + suffix
1232 if os.path.isfile(alt_target) and os.access(alt_target, os.X_OK): 1226 if os.path.isfile(alt_target) and os.access(alt_target, os.X_OK):
1233 return alt_target 1227 return alt_target
1234 return None 1228 return None
OLDNEW
« no previous file with comments | « gcl.py ('k') | git_cl.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698