1
# Copyright (C) 2005-2010 Canonical Ltd
1
# Copyright (C) 2005, 2006 Canonical Ltd
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
64
63
## mutter("trying editor: %r", (edargs +[filename]))
65
64
x = call(edargs + [filename])
67
if candidate_source is not None:
68
# We tried this editor because some user configuration (an
69
# environment variable or config file) said to try it. Let
70
# the user know their configuration is broken.
72
'Could not start editor "%s" (specified by %s): %s\n'
73
% (candidate, candidate_source, str(e)))
66
# We're searching for an editor, so catch safe errors and continue
67
# errno 193 is ERROR_BAD_EXE_FORMAT on Windows. Python2.4 uses the
68
# winerror for errno. Python2.5+ use errno ENOEXEC and set winerror
69
# to 193. However, catching 193 here should be fine. Other
70
# platforms aren't likely to have that high of an error. And even
71
# if they do, it is still reasonable to fall back to the next
73
if e.errno in (errno.ENOENT, errno.EACCES, errno.ENOEXEC, 193):
74
if candidate_source is not None:
75
# We tried this editor because some user configuration (an
76
# environment variable or config file) said to try it. Let
77
# the user know their configuration is broken.
79
'Could not start editor "%s" (specified by %s): %s\n'
80
% (candidate, candidate_source, str(e)))
141
148
msgfilename, hasinfo = _create_temp_file_with_commit_template(
142
149
infotext, ignoreline, start_message)
145
basename = osutils.basename(msgfilename)
146
msg_transport = transport.get_transport(osutils.dirname(msgfilename))
147
reference_content = msg_transport.get_bytes(basename)
148
if not _run_editor(msgfilename):
150
edited_content = msg_transport.get_bytes(basename)
151
if edited_content == reference_content:
152
if not ui.ui_factory.get_boolean(
153
"Commit message was not edited, use anyway"):
154
# Returning "" makes cmd_commit raise 'empty commit message
155
# specified' which is a reasonable error, given the user has
156
# rejected using the unedited template.
151
if not msgfilename or not _run_editor(msgfilename):
160
156
lastline, nlines = 0, 0