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

Unified Diff: gcl.py

Issue 8360007: Move code starting the editor into a common function. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Rebase against HEAD Created 9 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « drover.py ('k') | gclient_utils.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gcl.py
diff --git a/gcl.py b/gcl.py
index 8df5de1bcb9e54c2ef7697bdb5ae72c8e6d9c700..a63af71d85d1b8089361d76cb774076f74a9c977 100755
--- a/gcl.py
+++ b/gcl.py
@@ -733,20 +733,6 @@ def ListFiles(show_unknown_files):
return 0
-def GetEditor():
- editor = os.environ.get("SVN_EDITOR")
- if not editor:
- editor = os.environ.get("EDITOR")
-
- if not editor:
- if sys.platform.startswith("win"):
- editor = "notepad"
- else:
- editor = "vi"
-
- return editor
-
-
def GenerateDiff(files, root=None):
return SVN.GenerateDiff(files, root=root)
@@ -1054,7 +1040,6 @@ def CMDchange(args):
else:
changename = args[0]
change_info = ChangeInfo.Load(changename, GetRepositoryRoot(), False, True)
- silent = FilterFlag(args, "--silent")
# Verify the user is running the change command from a read-write checkout.
svn_info = SVN.CaptureInfo('.')
@@ -1103,11 +1088,7 @@ def CMDchange(args):
"---Paths in this changelist (" + change_info.name + "):\n")
separator2 = "\n\n---Paths modified but not in any changelist:\n\n"
- description_to_write = description
- if sys.platform == 'win32':
- description_to_write = description.replace('\n', '\r\n')
-
- text = (description_to_write + separator1 + '\n' +
+ text = (description + separator1 + '\n' +
'\n'.join([f[0] + f[1] for f in change_info.GetFiles()]))
if change_info.Exists():
@@ -1118,40 +1099,16 @@ def CMDchange(args):
separator2)
text += '\n'.join([f[0] + f[1] for f in unaffected_files]) + '\n'
- handle, filename = tempfile.mkstemp(text=True)
- os.write(handle, text)
- os.close(handle)
-
- # Open up the default editor in the system to get the CL description.
- try:
- if not silent:
- cmd = '%s %s' % (GetEditor(), filename)
- if sys.platform == 'win32' and os.environ.get('TERM') == 'msys':
- # Msysgit requires the usage of 'env' to be present.
- cmd = 'env ' + cmd
- try:
- # shell=True to allow the shell to handle all forms of quotes in
- # $EDITOR.
- subprocess2.check_call(cmd, shell=True)
- except subprocess2.CalledProcessError, e:
- ErrorExit('Editor returned %d' % e.returncode)
- result = gclient_utils.FileRead(filename)
- finally:
- os.remove(filename)
-
+ result = gclient_utils.RunEditor(text, False)
if not result:
- return 0
+ ErrorExit('Running editor failed')
split_result = result.split(separator1, 1)
if len(split_result) != 2:
- ErrorExit("Don't modify the text starting with ---!\n\n" + result)
+ ErrorExit("Don't modify the text starting with ---!\n\n%r" % result)
# Update the CL description if it has changed.
new_description = split_result[0]
-
- if sys.platform == 'win32':
- new_description = new_description.replace('\r\n', '\n')
-
cl_files_text = split_result[1]
if new_description != description or override_description:
change_info.description = new_description
« no previous file with comments | « drover.py ('k') | gclient_utils.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698